最新公告
  • 欢迎您光临 我爱模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境! 立即加入钻石VIP
  • 帝国cms相关链接无内容时调用当前栏目最热信息的方法

    正文概述 管理员   2025-09-06   6

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

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

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者
    script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?587cc1e5c052b5b0ce99533beff13c96"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();

    请选择支付方式

    ×
    支付宝支付
    余额支付
    ×
    微信扫码支付 0 元