帝国CMS无限级栏目导航、多级栏目导航栏目导航的实现方法详细教

来源:互联网   编辑:思良  发表时间:2016-06-07  关注度:1269  

思良:最近在制作自适应模版想用灵动做导航,一直不能实习多级导航,很难调成和模版一样的代码,后来找了一个用函数做的导航,以前也用过,不过没成功过,今天早上又试了下,居然成功了,还是保留下来吧

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

 

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

 

一般默认情况下这个文件的内容会是下面这样的:
ps:如果有改动请自行将需要添加的代码放在最后面!

  

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

 

 将其修改为如下代码:

  思良:方便大家拷贝代码没要前面的123,而且测试,该代码只能在首页有用,原代码是相对路径,如果到了列表页或者内容页,那么路径又重复了,比如,首页显示新闻列表超链接是http://localhost/news,如果在新闻列表里导航就变成了http://localhost/news/news这样就不能访问,于是改成绝对路径,即超链接前面添加/,而且该导航只能支持静态路径,即http://localhost/news而不是http://localhost/e/action/ListInfo/?classid=36,所以用该代码时,列表页最好是静态的,内容可以是动态,怎么解决我研究下。

 

<?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
注意大小写,不可改动,一定要写对。
是否开启标签:选是

 

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

 

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

 

1 <div>
2 <ul>
3 [myli]0,1[/myli]
4 </ul>
5 </div>

 

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

 

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


原文:http://www.dedejs.com/html/article-852-1.html

    支付宝扫码领红包,不用多说,用过的人都知道,双赢的,你得红包,我得到同等推广红包,比如你扫到1元,我也得1元,大家得到的红包可以去实体店消费!新用户至少10元以上哦,每天都有!希望大家每天来本站扫码!感谢感谢!

    把打赏改成扫码红包了!支持本站就扫码下!


下一篇:帝国CMS灵动标签调用顶级栏目及循环子栏目-带样式——用于首页导航不错


上一篇:帝国cms的信息反馈增加反馈编号加回复功能


小提示:按 回车[Enter]键 返回,按 ←键 返回上一页, 按 →键 进入下一页。

网友评论(0条评论)

选择头像
     

新闻评论(共有 0 条评论)

手机访问

本站APP

联系我

加我微信