dede 嵌套获取顶级栏目及子栏目列表

dede 嵌套获取顶级栏目及子栏目列表

需要用DEDE 的栏目列表做一个导航,但是苦于无法获取嵌套循环获取顶级栏目及其下的子栏目。网上找了很久,终于找到了通过修改 channel.lib.php 文件来实现的文章,但是通过对比修改前后的文件,发现该方法是基于DEDE 很久前得一个版本的,目前最新的版本如果覆盖修 改,可能导致一些不可预知的错误。带来更大麻烦,好在高人之上更有高人,终于在【新浪博客-史明明的博客】找到了一个两全其美的解决方法,既不用修改核心文件,也可以简单的实现我们想要的效果,下面是解决方法,谢谢【史明明】博主。

01 一段代码搞定多个顶级栏目和子级栏目的同时输出。在有的带有下拉菜单的导航中很实用。

02

03

04

    05 {dede:channelartlist row=6}只能首页用,子页要用改成{dede:channelartlist row=6 typeid='top'}

    06

  • 07

    {dede:field name='typename'/}>

    08

      09 {dede:channel type='son' noself='true'}

      10

    • [field:typename/]
    • 11 {/dede:channel}

      12

    13

  • 14 {/dede:channelartlist}

    15

16

17

18 备注:如果你想控制顶级栏目的个数,请更改上面第一行红色的row 参数 19

20 这样循环,如果栏目属性是外部链接就不会输出,如果需要显示外部链接,5.7可以找include/taglib/channelartlist.lib.php 第67行左右去掉红色代码

21

22 $tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 "; 23

24 改成

25

26 $tpsql = " reid=0 AND ishidden<>1 AND channeltype>0 ";

相关主题
相关文档
最新文档