帝国cms相关链接无内容时调用当前栏目最热信息的方法

时间:2016-07-04 14:36:38

分类:帝国教程

这篇文章主要为大家分享下帝国cms相关链接无内容时调用当前栏目最热信息的方法,需要的朋友可以参考下

帝国cms相关链接,这里以帝国cms 7.0为例具体代码 在/e/class/functions.php

 $keyboardtext='<?=GetKeyboard($ecms_gr[keyboard],$ecms_gr[keyid],$ecms_gr[classid],$ecms_gr[id],$class_r[$ecms_gr[classid]][link_num])?>';可以看到相关链接的信息是通过GetKeyboard得到,找到 GetKeyboard修改一下就可以了,也是在/e/class/functions.php

代码如下:

 

折叠PHP 代码
  1. //取得相关链接  
  2. function GetKeyboard($keyboard,$keyid,$classid,$id,$link_num){  
  3. global $empire,$public_r,$class_r,$fun_r,$dbtbpre;  
  4. if($keyid&&$link_num)  
  5. {  
  6. $add="id in (".$keyid.")";  
  7. $tr=$empire->fetch1("select otherlinktemp,otherlinktempsub,otherlinktempdate from ".GetTemptb("enewspubtemp")." limit 1");//取得相关链接模板  
  8. $temp_r=explode("[!--empirenews.listtemp--]",$tr[otherlinktemp]);  
  9. $key_sql=$empire->query("select id,newstime,title,isurl,titleurl,classid,titlepic,lastvolume from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$add." order by newstime desc limit $link_num");  
  10. while($link_r=$empire->fetch($key_sql))  
  11. {  
  12. $text=RepOtherTemp($temp_r[1],$link_r,$tr);  
  13. $text=str_replace('[!--no--]',$i,$text);  
  14. $text=str_replace('[!--state--]',$link_r[state],$text);  
  15. $text=str_replace('[!--lastvolume--]',$link_r[lastvolume],$text);  
  16. $keyboardtext.=$text;  
  17. //$keyboardtext.=RepOtherTemp($temp_r[1],$link_r,$tr);  
  18. }  
  19. $keyboardtext=$temp_r[0].$keyboardtext.$temp_r[2];  
  20. }  
  21. else  
  22. {  
  23. $keyid=GetKeyid($keyboard,$classid,0,$link_num);  
  24. if($keyid)  
  25. {  
  26. $fsql=$empire->query("update {$dbtbpre}ecms_".$class_r[$classid][tbname]."_data_1 set keyid='$keyid' where id='$id'");  
  27. $add="id in (".$keyid.")";  
  28. $tr=$empire->fetch1("select otherlinktemp,otherlinktempsub,otherlinktempdate from ".GetTemptb("enewspubtemp")." limit 1");//取得相关链接模板  
  29. $temp_r=explode("[!--empirenews.listtemp--]",$tr[otherlinktemp]);  
  30. $key_sql=$empire->query("select id,newstime,title,isurl,titleurl,classid,titlepic,lastvolume from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$add." order by newstime desc limit $link_num");  
  31. while($link_r=$empire->fetch($key_sql))  
  32. {  
  33. $text=RepOtherTemp($temp_r[1],$link_r,$tr);  
  34. $text=str_replace('[!--no--]',$i,$text);  
  35. $text=str_replace('[!--state--]',$link_r[state],$text);  
  36. $text=str_replace('[!--lastvolume--]',$link_r[lastvolume],$text);  
  37. $keyboardtext.=$text;  
  38. //$keyboardtext.=RepOtherTemp($temp_r[1],$link_r,$tr);  
  39. }  
  40. $keyboardtext=$temp_r[0].$keyboardtext.$temp_r[2];  
  41. }  
  42. else   
  43. {  
  44. $add="";  
  45. $tr=$empire->fetch1("select otherlinktemp,otherlinktempsub,otherlinktempdate from ".GetTemptb("enewspubtemp")." limit 1");//取得相关链接模板  
  46. $temp_r=explode("[!--empirenews.listtemp--]",$tr[otherlinktemp]);  
  47. $key_sql=$empire->query("select id,newstime,title,isurl,titleurl,classid,titlepic,lastvolume from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where order by onclick desc limit $link_num");  
  48. while($link_r=$empire->fetch($key_sql))  
  49. {  
  50. $text=RepOtherTemp($temp_r[1],$link_r,$tr);  
  51. $text=str_replace('[!--no--]',$i,$text);  
  52. $text=str_replace('[!--state--]',$link_r[state],$text);  
  53. $text=str_replace('[!--lastvolume--]',$link_r[lastvolume],$text);  
  54. $keyboardtext.=$text;  
  55. //$keyboardtext.=RepOtherTemp($temp_r[1],$link_r,$tr);  
  56. }  
  57. $keyboardtext=$temp_r[0].$keyboardtext.$temp_r[2];  
  58. }  
  59. //----------------------------------------------------------------------------------------------  
  60. //$keyboardtext=$fun_r['NotLinkNews'];  
  61. }  
  62. return $keyboardtext;  
  63. }  

原来的官方代码在没有关键字的时候直接就给出

$keyboardtext=$fun_r['NotLinkNews'];

这显示无相关信息,所以我做了一个无keyid的时候再去获取一次keyid,

$keyid=GetKeyid($keyboard,$classid,0,$link_num);

确实没有关键字的时候读取人气最高的几条信息

 

折叠PHP 代码
  1. $key_sql=$empire->query("select id,newstime,title,isurl,titleurl,classid,titlepic,lastvolume from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where  order by onclick desc limit $link_num");  

 

相关文章

相关推荐

为帝国CMS用户提供动力

Copyright © 2016 CmsDX.com All Rights Reserved.