当前位置:首页 > 文章 > 帝国CMS > 正文内容

帝国CMS模板内容页没有相关信息则调用其它文章信息的方法

3年前 (2022-10-21)帝国CMS11589

帝国CMS内容页没有相关信息时,则调用其它文章信息的方法!其实没那么复杂:

  帝国cms默认的[!--other.link--]标签调用相关链接时,如果没有相关链接的话,则会显示“暂无相关链接”。对于一些采集站或其他需要增加内链的网站来说,此时最好能调用本栏目的其它一些信息填充进来。这里分享一个自己用的函数,实现这个功能。

  当信息有相关信息时,调用相关信息,如果没有,则调用同栏目、当前信息前后100个id之内的信息中发布时间最靠近的,100可以设置成参数。将此函数放进 userfun.php 文件中:

function dp_GetKeyboard($num=100){
        global $empire,$public_r,$class_r,$fun_r,$dbtbpre,$class_r,$navinfor;
        $keyid=$navinfor['keyid'];
        $classid=$navinfor['classid'];
        $id=$navinfor['id'];
        $link_num=$class_r[$classid]['link_num'];
        if(!$link_num){
                return $fun_r['NotLinkNews'];
        }
        $tr=$empire->fetch1("select otherlinktemp,otherlinktempsub,otherlinktempdate from ".GetTemptb("enewspubtemp")." limit 1");
        $temp_r=explode("[!--empirenews.listtemp--]",$tr[otherlinktemp]);
        if($keyid){
                $add="id in (".$keyid.")";
        }else{
                $e=$id+$num;
                $s=$id-$num;
                $add=" classid=".$classid." and id>".$s." and id<".$e;
        }
        $key_sql=$empire->query("select id,newstime,title,isurl,titleurl,classid,titlepic from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where ".$add." order by newstime desc limit $link_num");
        while($link_r=$empire->fetch($key_sql)){
                if($link_r['id']==$id){
                        continue;
                }
                $keyboardtext.=RepOtherTemp($temp_r[1],$link_r,$tr);
        }
        if(empty($keyboardtext)){
                return $fun_r['NotLinkNews'];
        }
        $keyboardtext=$temp_r[0].$keyboardtext.$temp_r[2];
        return $keyboardtext;
}

  模板中调用标签:<!--?=dp_getkeyboard(200)?-->

  这个函数满足我一个小站的功能,对于其它网站来说,补充调用信息可能比较简陋,可以自行修改。

扫描二维码推送至手机访问。

版权声明:本文由蓝博发布,如需转载请注明出处。

本文链接:https://www.blueboss.cn/p/213.shtml

“帝国CMS模板内容页没有相关信息则调用其它文章信息的方法” 的相关文章

帝国CMS灵动标签循环子栏目导航

帝国CMS灵动标签循环子栏目导航

帝国CMS怎么用灵动标签调用循环子栏目导航呢?下面帝国cms模板网就来告诉大家怎么调用: [e:loop={"select classid,classname,islast from {$dbtbpre}enewsclass where bclassid='0' and showclass=0 o...

帝国cms用SQL语句调用栏目导航一级栏目和二级栏目

帝国cms用SQL语句调用栏目导航一级栏目和二级栏目

帝国cms调用一级栏目及下面的二级栏目调用方法如下: SQL语句 <?php  $ecms_bq_sql=sys_ReturnEcmsLoopBq("select * from [!db.pre!]enewsclass where bclassid=0 order by myorder li...

帝国CMS灵动标签从第二条信息开始

帝国CMS灵动标签从第二条信息开始

正常调用文章信息,是从第一条信息开始调用的,或者是逐条调用,那么,假如我们需要从第二条信息开始调用  [e:loop={栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序}] [e:loop={栏目ID/专题ID,'1,2',操作类型,只显示有标题图片,附加SQL条件...

帝国CMS模板中灵动标签调用当天日期的标题文字显示红色

帝国CMS模板中灵动标签调用当天日期的标题文字显示红色

帝国cms模板中灵动标签调用当天日期的标题文字显示红色呢? 帝国CMS模板网小编就来为大家分享: [e:loop={'news',8,18,0}] <?php $color="#333"; if(date("Y-m-d",$bqr[newstime])==date("Y-m-d")) { $...

帝国cms采集怎么添加采集来源地址

帝国cms采集怎么添加采集来源地址

帝国cms采集规则加上采集来源地址的方法!一起来了解一下吧: 实现方法如下: 帝国cms采集规则采集来源地址只需要加在模型里加上一个“empireselfurl”这个字段不用设置正则,入库后他自然就是采集的页面地址。...

帝国CMS内容页点击改变文字号大小

帝国CMS内容页点击改变文字号大小

帝国CMS内容页点击改变文字号大小的方法,其实不难的. 一、在内容模板的头部里加入下面的代码: <script type="text/javascript"> function FontZoom(fsize){         var ctext = document.getEleme...