帝国cms相关链接无内容时调用当前栏目最热信息的方法
帝国cms相关链接,这里以帝国cms 7.0为例具体代码 在/e/class/functions.php$keyboardtext='<?=GetKeyboard($ecms_gr,$ecms_gr,$ecms_gr,$ecms_gr,$class_r[$ecms_gr])?>';可以看到相关链接的信息是通过GetKeyboard得到,找到 GetKeyboard修改一下就可以了,也是在/e/class/functions.php
代码如下:
//取得相关链接
function GetKeyboard($keyboard,$keyid,$classid,$id,$link_num){
global $empire,$public_r,$class_r,$fun_r,$dbtbpre;
if($keyid&&$link_num)
{
$add="id in (".$keyid.")";
$tr=$empire->fetch1("select otherlinktemp,otherlinktempsub,otherlinktempdate from ".GetTemptb("enewspubtemp")." limit 1");//取得相关链接模板
$temp_r=explode("[!--empirenews.listtemp--]",$tr);
$key_sql=$empire->query("select id,newstime,title,isurl,titleurl,classid,titlepic,lastvolume from {$dbtbpre}ecms_".$class_r[$classid]." where ".$add." order by newstime desc limit $link_num");
while($link_r=$empire->fetch($key_sql))
{
//=========================================================2012-12-25 4usky.com
$text=RepOtherTemp($temp_r,$link_r,$tr);
$text=str_replace('[!--no--]',$i,$text);
$text=str_replace('[!--state--]',$link_r,$text);
$text=str_replace('[!--lastvolume--]',$link_r,$text);
$keyboardtext.=$text;
//$keyboardtext.=RepOtherTemp($temp_r,$link_r,$tr);
}
$keyboardtext=$temp_r.$keyboardtext.$temp_r;
}
else
{
//-------------生成的时候加载一次keyid zhuxianfei.com 2013/5/17 星期五
$keyid=GetKeyid($keyboard,$classid,0,$link_num);
if($keyid)
{
$fsql=$empire->query("update {$dbtbpre}ecms_".$class_r[$classid]."_data_1 setkeyid='$keyid' where id='$id'");
$add="id in (".$keyid.")";
$tr=$empire->fetch1("select otherlinktemp,otherlinktempsub,otherlinktempdate from ".GetTemptb("enewspubtemp")." limit 1");//取得相关链接模板
$temp_r=explode("[!--empirenews.listtemp--]",$tr);
$key_sql=$empire->query("select id,newstime,title,isurl,titleurl,classid,titlepic,lastvolume from {$dbtbpre}ecms_".$class_r[$classid]." where ".$add." order by newstime desc limit $link_num");
while($link_r=$empire->fetch($key_sql))
{
//=========================================================2012-12-25 4usky.com
$text=RepOtherTemp($temp_r,$link_r,$tr);
$text=str_replace('[!--no--]',$i,$text);
$text=str_replace('[!--state--]',$link_r,$text);
$text=str_replace('[!--lastvolume--]',$link_r,$text);
$keyboardtext.=$text;
//$keyboardtext.=RepOtherTemp($temp_r,$link_r,$tr);
}
$keyboardtext=$temp_r.$keyboardtext.$temp_r;
}
else //没有关键字的时候读取人气最高的几条信息 2013/5/17 星期五 zhuxianfei.com
{
$add="";
$tr=$empire->fetch1("select otherlinktemp,otherlinktempsub,otherlinktempdate from ".GetTemptb("enewspubtemp")." limit 1");//取得相关链接模板
$temp_r=explode("[!--empirenews.listtemp--]",$tr);
$key_sql=$empire->query("select id,newstime,title,isurl,titleurl,classid,titlepic,lastvolume from {$dbtbpre}ecms_".$class_r[$classid]." whereorder by onclick desc limit $link_num");
while($link_r=$empire->fetch($key_sql))
{
//=========================================================2012-12-25 4usky.com
$text=RepOtherTemp($temp_r,$link_r,$tr);
$text=str_replace('[!--no--]',$i,$text);
$text=str_replace('[!--state--]',$link_r,$text);
$text=str_replace('[!--lastvolume--]',$link_r,$text);
$keyboardtext.=$text;
//$keyboardtext.=RepOtherTemp($temp_r,$link_r,$tr);
}
$keyboardtext=$temp_r.$keyboardtext.$temp_r;
}
//----------------------------------------------------------------------------------------------
//$keyboardtext=$fun_r['NotLinkNews'];
}
return $keyboardtext;
}
原来的官方代码
在没有关键字的时候直接就给出
$keyboardtext=$fun_r['NotLinkNews'];
这显示无相关信息
我做了一个无keyid的时候再去获取一次keyid,
$keyid=GetKeyid($keyboard,$classid,0,$link_num);
确实没有关键字的时候读取人气最高的几条信息
$key_sql=$empire->query("select id,newstime,title,isurl,titleurl,classid,titlepic,lastvolume from {$dbtbpre}ecms_".$class_r[$classid]." whereorder by onclick desc limit $link_num");
文档来源:脚本之家https://www.jb51.net/cms/123513.html
页:
[1]