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

2022-12-07 0 508

这篇文章主要为大家分享下帝国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

复制代码代码如下:

//取得相关链接

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[otherlinktemp]);

$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");

while($link_r=$empire->fetch($key_sql))

{

$text=RepOtherTemp($temp_r[1],$link_r,$tr);

$text=str_replace('[!–no–]',$i,$text);

$text=str_replace('[!–state–]',$link_r[state],$text);

$text=str_replace('[!–lastvolume–]',$link_r[lastvolume],$text);

$keyboardtext.=$text;

//$keyboardtext.=RepOtherTemp($temp_r[1],$link_r,$tr);

}

$keyboardtext=$temp_r[0].$keyboardtext.$temp_r[2];

}

else

{

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

if($keyid)

{

$fsql=$empire->query("update {$dbtbpre}ecms_".$class_r[$classid][tbname]."_data_1 set keyid='$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[otherlinktemp]);

$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");

while($link_r=$empire->fetch($key_sql))

{

$text=RepOtherTemp($temp_r[1],$link_r,$tr);

$text=str_replace('[!–no–]',$i,$text);

$text=str_replace('[!–state–]',$link_r[state],$text);

$text=str_replace('[!–lastvolume–]',$link_r[lastvolume],$text);

$keyboardtext.=$text;

//$keyboardtext.=RepOtherTemp($temp_r[1],$link_r,$tr);

}

$keyboardtext=$temp_r[0].$keyboardtext.$temp_r[2];

}

else

{

$add="";

$tr=$empire->fetch1("select otherlinktemp,otherlinktempsub,otherlinktempdate from ".GetTemptb("enewspubtemp")." limit 1");//取得相关链接模板

$temp_r=explode("[!–empirenews.listtemp–]",$tr[otherlinktemp]);

$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");

while($link_r=$empire->fetch($key_sql))

{

$text=RepOtherTemp($temp_r[1],$link_r,$tr);

$text=str_replace('[!–no–]',$i,$text);

$text=str_replace('[!–state–]',$link_r[state],$text);

$text=str_replace('[!–lastvolume–]',$link_r[lastvolume],$text);

$keyboardtext.=$text;

//$keyboardtext.=RepOtherTemp($temp_r[1],$link_r,$tr);

}

$keyboardtext=$temp_r[0].$keyboardtext.$temp_r[2];

}

//———————————————————————————————-

//$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][tbname]." where order by onclick desc limit $link_num");

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 帝国CMS教程 帝国cms相关链接无内容时调用当前栏目最热信息的方法 https://www.u-9.cn/cmssyjc/empirecms-cmssyjc/2275.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

注册会员,众多资源免费下载