帝国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,简单试试就能出来哦~

最新开发技术

  • 帝国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正则验证注册手机邮箱出错了,但本地测试是完全没有问题的,只在传到帝国后报错,这是什么原因呢?

  • JS判断当前页是否是微信浏览器打开代码与引导页

    在网站开发的过程中常有这样的需求:用户在手机端点击下载按钮需要判断浏览器,如果是微信浏览器则引导用户使用手机浏览器打开页面进行下载,否则就直接下载。

  • 帝国CMS文章页怎样调用当前数据表与当前栏目信息(适用于非默认表news)

    帝国CMS一套内容模板适用于多个不同栏目,且多个栏目使用多个数据表时,文章页怎样取得当前表并做栏目热点就是个问题。

  • 帝国CMS留言板怎样将“请输入留言姓名,邮箱与留言内容”提示文字改为留言姓名,手机与留言内容?

    很多时候,国内用户并不需要将邮箱设为必填,而将手机号码设为必填项的倒是很多。此时,提示文字就要变成“请输入留言姓名,手机与留言内容”

  • 装饰行业互联网端二次开发的必要性分析

    随着手机科技的逐步发展,现在手机已经能够替代电脑的大部分功能,所以很多时候手机端所承载的互联网流量要远远大于PC端。这就导致了大部分企业不单单只是做一个网站就可以了,除了网站之外还需要制作大量的移动端程序或者页面。