帝国CMS终极栏目和父栏目使用同一个模板,当调用当前终极栏目信息时,父栏目数据为空怎么办? 作者:30yi.cn     时间:2020-09-17

简述
解决一级栏目信息为空的思路很简单:首先判断当前栏目,如果当前栏目是一级栏目,那么就获取本栏目的子栏目ID,如果当前栏目是非一级栏目,则获取当前栏目ID,并将获取的ID传给灵动标签调用。

帝国CMS一级栏目和二级栏目使用同一个模板,二级栏目是终极栏目,调用本栏目数据,一级栏目由于无法发布信息,显示的数据为空,这时要怎么处理?

解决思路很简单,首先判断本栏目情况,如果当前栏目是一级栏目,那么就获取本栏目的子栏目ID,如果当前栏目是非一级栏目,则获取当前栏目ID,并将获取的ID传给灵动标签调用。

PHP查询如下:
<?
    $classid = $GLOBALS[navclassid];
    $dclassid = $class_r[$GLOBALS[navclassid]][bclassid];
    if($dclassid==0){
        $classid=$class_r[$GLOBALS[navclassid]][sonclass];
        $t=explode('|',$classid);
        $d=count($t);  
        $classid='';
        for($i=0;$i<$d;$i++)  
        {  
            if($i>1&&$i<($d-1)){
                $f=',';
            }else{
                $f='';
            }
            $classid.= $f.$t[$i];
        }  
    }
?>

灵动标签如下:
[e:loop={"select title,titleurl from {$dbtbpre}ecms_news where classid in ($classid) and order by newstime desc limit 5",1,24,0,'',''}]
[/e:loop]

有更多更好的技巧,欢迎与我分享。

需要解决帝国难题,请点击在线客服咨询。
 

BUG提示(2020/09/23):

在实际生产环境中,发现如果是一级栏目同时为终极栏目时,会因为取不到classid而报错,这个bug根据现有源码简单调整就可以修复。

解决思路很简单,先获取终极栏目的标记,再在if($dclassid==0){内加入判断条件,如果是终极栏目,则classid为当前栏目id,简单试试就能出来哦~

最新开发技术

  • 怎样关闭宝塔面板自身的SSL(宝塔自身的ssl,非服务器里的网站)

    宝塔面板是自带ssl功能的,但需要正确配置ssl证书,如果我们直接顺手按照默认模式开启ssl,则宝塔面板会无法访问。

  • 帝国cms怎样去掉面包屑导航里的隐藏栏目

    帝国cms有隐藏栏目的功能,但隐藏栏目的文章如果展示,面包屑导航里会带上被隐藏栏目名以及链接,我们要怎样让被隐藏栏目的信息不出现在面包屑导航里呢?

  • 帝国cms列表页list.var调用tags怎么做?

    文章tag作为文章的重要组成部分,在信息集合上表现非常好,如果合理利用,能获得大量优质排名。那么,帝国CMS怎样在列表页展示tag信息并带上链接呢?

  • 帝国cms后台信息列表标题显示不完怎么办?

    帝国CMS后台信息列表标题文字字数默认是被控制过的,超出一行会截断,一些相对较长的文章标题就只能显示出一部分,看着很不舒服。那么,怎样让帝国cms后台信息列表的标题显示完整呢?

  • 帝国CMS 8.0版本即将上线,届时不再支持GBK、BIG5编码

    3月1日上午10点,帝国cms创始人王猛发布微博称8.0版本不再支持gbk、big5编码。虽然说的是不支持编码,却透露出来8.0版本即将上线的好消息。

  • 织梦CMS最新版本V6有什么新功能?

    2020年11月2日,在千呼万唤之中,织梦CMS从5.7版本升级到6.0版本。此次升级伴随着官网的改版升级。那么,织梦CMS V6有什么新功能呢?

  • 帝国cms报错Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in

    帝国CMS是相当好用的一款建站cms,但在开发过程中还是难以避免因为这样那样导致的问题。比如,这个报错提示:Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in...这是什么原因呢?

  • 帝国CMS修改内容后保存无效怎么办?

    近日,有客户向30yi建站求助说文章添加了一批内容,系统提示保存成功了,但再次打开后内容丢失了一部分,再次修改保存后还是如此。

  • 帝国CMS内容页点赞功能怎么用?

    帝国CMS源生的点赞功能十分简单,按照以下两个步骤即可实现。1、引入帝国默认的ajax文件,2、设置点赞按钮与参数。

  • 帝国CMS使用JS正则验证手机邮箱出错怎么办?

    最近有客户向30yi建站求助说帝国CMS使用JS正则验证注册手机邮箱出错了,但本地测试是完全没有问题的,只在传到帝国后报错,这是什么原因呢?