大多时候我们用帝国CMS仿站需要用到多级栏目导航,但是官方没有具体的实现方法跟教程,所以需要我们自己开发,下面帮做网络工作室就跟大家分享一下如果用帝国CMS实现多级栏目导航功能。

第一步:找到并打开/e/class/userfun.php文件,此文件是专门给用户添加自定义函数用的,我们可以将自己开发的函数直接放进这个文件里面,一般二次开发都是修改这个文件。

默认情况下这个文件的内容会是下面这样的:

ps:如果有改动请自行将需要添加的代码放在最后面。

 

<?php
//---------------------------用户自定义标签函数文件
?>

将其修改为如下代码:

<?php
//---------------------------用户自定义标签函数文件
//循环次级栏目函数
function user_ListCats($bclassid) {
global $empire, $dbtbpre;
//        classpath 为地址
$sql=$empire->query("select classid, classname, bclassid, islast, classpath, classurl from {$dbtbpre}enewsclass where bclassid='$bclassid' and wburl='' order by myorder,classid");
//        判断是否有类别记录
        $num=$empire->num1($sql);
        if ($num == 0 && $bclassid == 0)//无记录
        {
            echo $GLOBALS['notrecordword'];
            return "";
        }
        if ($num == 0)
        {
            return '';
        }
        $i = 1;
        while ($r=$empire->fetch($sql))
        {
            //        如果不是终极栏目,显示其子目录
            if(empty($r[islast]))
            {
                echo '<li><a href="' . $r[classpath] . '">' . $r[classname] . '</a>'."\r\n";
                                echo '<ul>'."\r\n";
                user_ListCats($r[classid], $showMore);
                                echo '</ul>'."\r\n";
                                echo '</li>'."\r\n";
            } else {
                echo '<li><a href="' . $r[classpath] . '">' . $r[classname] . '</a></li>'."\r\n";
            }
            $i += 1;
        }
    }
?>


修改完成后保存。

第二步:进入帝国CMS后台管理

点击:模板-->标签-->管理标签

点击:【增加标签】按钮

标签名:自己填写

标签符号:myli (当然你也可以填写其他的,在调用时相应的修改下即可)

所属类别:不用改。

函数名:user_ListCats

注意大小写,不可改动,一定要写对。

是否开启标签:选是

填写完成后点击提交按钮。

第三步:在模板需要调用多级导航的地方添加如下代码:

<div>
<ul>
[myli]0,1[/myli]
</ul>
</div>

完成后保存即可,更新首页就会发现有效果了!

[myli]0,1[/myli]标签的两个参数说明 :第一个是栏目ID,0为所有栏目,第二个为是否显示多级子栏目,1为显示。0为只显示一级。