帝国论坛帝国网站管理系统交流区帝国CMS使用交流[分享]无限级导航栏目实现的思路 【本版专题贴子】  
 1/3     1 2 3 ›› ›|
主题:[分享]无限级导航栏目实现的思路 [加入收藏夹]   

nappan
用户头衔:举人

精华贴   :0
发贴数   :132
经验值   :614
注册时间:2010-03-03
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[分享]无限级导航栏目实现的思路
    先引用下别人的例子, 他想达到的效果是树形目录的方式显示三级栏目列表的需求, 参考http://fengyouyi.com/158
    效果可以参考下DEMO:  http://fengyouyi.com/demo/20110609001/

    我测试了下发现只能给定某个上级栏目的ID, 而且只显示这个上级栏目ID下面的次级栏目及无限级栏目, 并不能显示上级栏目本身
    所以参考他的思路自己又重新写了个函数,代码如下:

    //循环次级栏目函数
    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 '';
        }
        echo '<ul>'."\r\n";
        $i = 1;
        while ($r=$empire->fetch($sql))
        {
            //        如果不是终极栏目,显示其子目录
            if(empty($r[islast]))
            {
                echo '<li><a href="' . $r[classpath] . '">' . $r[classname] . '</a>'."\r\n";
                user_ListCats($r[classid], $showMore);
                echo '</li>'."\r\n";
            } else {
                echo '<li><a href="' . $r[classpath] . '">' . $r[classname] . '</a></li>'."\r\n";
            }
            $i += 1;
        }
        echo '</ul>'."\r\n";
    }
    //顶部栏目导航函数
    function user_NavigationMenu(){
        global $empire, $dbtbpre;
        $sql=$empire->query("select classid, classname, bclassid, islast, classpath, classurl from {$dbtbpre}enewsclass where wburl='' order by myorder,classid");
        while($root=$empire->fetch($sql))
        {
            if($root[bclassid] == 0){
                echo '<li><a href="' . $root[classpath] . '">' . $root[classname] . '</a>'."\r\n";
                user_ListCats($root[classid]);
                echo '</li>'."\r\n";
            }
        }
    }
   
    至于HTML的样式部分,我都写到CSS里面了,所以这个大伙就自个发挥了...  望大虾多多指点!!!

上传以下图片:


[该贴被修改 5 次,最后修改时间 2011-09-29 10:19:10 ]


路漫漫其修远兮,不如我们去打的!
2011-09-29 10:11:10 已设置保密 顶部 回复 引用 报告 编辑 删除

jaycn
用户头衔:探花

精华贴   :0
发贴数   :4930
经验值   :12030
注册时间:2007-07-19
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

占资源吧




2011-09-29 10:46:16 已设置保密 顶部 回复 引用 报告 编辑 删除

bebebe
用户头衔:探花

精华贴   :0
发贴数   :2692
经验值   :6789
注册时间:2010-03-01
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

支持+学习




2011-09-29 10:53:32 已设置保密 顶部 回复 引用 报告 编辑 删除

qwe6265793
用户头衔:书生

精华贴   :0
发贴数   :50
经验值   :111
注册时间:2011-10-15
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

谁用谁知道,!



自制面膜
2011-10-19 17:36:26 已设置保密 顶部 回复 引用 报告 编辑 删除

nappan
用户头衔:举人

精华贴   :0
发贴数   :132
经验值   :614
注册时间:2010-03-03
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

网站前台一般生成静态HTML文件,应该不占多少资源吧?!
如果自己写灵动标签,其实也要读取数据库,肯定也要用到循环的.. 不然想显示无限级子栏目基本上不可能!!!

我是觉得方便日后维护,如果占资源只能优化代码咯.. 希望高手能写出更好的代码!!  



路漫漫其修远兮,不如我们去打的!
2011-10-21 16:27:53 已设置保密 顶部 回复 引用 报告 编辑 删除

59966
用户头衔:探花

精华贴   :0
发贴数   :8493
经验值   :21577
注册时间:2008-11-17
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

支持




2011-10-21 18:37:58 已设置保密 顶部 回复 引用 报告 编辑 删除

821999280
用户头衔:书生

精华贴   :0
发贴数   :31
经验值   :56
注册时间:2011-10-23
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

不错!欣赏了!顶··



聚氯化铝
聚氯化铝铁

2011-10-23 17:23:37 已设置保密 顶部 回复 引用 报告 编辑 删除

wangxi0668
用户头衔:探花

精华贴   :0
发贴数   :1901
经验值   :6811
注册时间:2009-05-24
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]




QQ:52440488 http://www.918hezu.com www.fjjxc.com
www.189288.com www.gz-bestally.com www.oemfy.com www.xcdnpx.com www.dewlis.com www.oemdg.com www.oemgc.com www.xcwxpx.com www.023gree.com www.ystdzkj.com
http://www.189286.com www.oemdg.com
2011-10-23 18:15:46 已设置保密 顶部 回复 引用 报告 编辑 删除

xyz1233
用户头衔:书生

精华贴   :0
发贴数   :221
经验值   :444
注册时间:2011-07-17
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

下次一定坐沙发



滑环王子
2011-10-23 20:41:15 已设置保密 顶部 回复 引用 报告 编辑 删除

yeats520
用户头衔:书生

精华贴   :0
发贴数   :14
经验值   :38
注册时间:2011-09-22
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

思路值得学习



西凤酒 http://www.zgjlssxfj.com
西安约会http://www.xadate.com
乘着风http://www.iczf.com
爱鸭梨www.ipear.org
2011-10-23 22:29:44 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/3     1 2 3 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1