dede 嵌套获取顶级栏目及子栏目列表
需要用DEDE 的栏目列表做一个导航,但是苦于无法获取嵌套循环获取顶级栏目及其下的子栏目。网上找了很久,终于找到了通过修改 channel.lib.php 文件来实现的文章,但是通过对比修改前后的文件,发现该方法是基于DEDE 很久前得一个版本的,目前最新的版本如果覆盖修 改,可能导致一些不可预知的错误。带来更大麻烦,好在高人之上更有高人,终于在【新浪博客-史明明的博客】找到了一个两全其美的解决方法,既不用修改核心文件,也可以简单的实现我们想要的效果,下面是解决方法,谢谢【史明明】博主。
01 一段代码搞定多个顶级栏目和子级栏目的同时输出。在有的带有下拉菜单的导航中很实用。
02
03
04
07
{dede:field name='typename'/}> 08
[field:typename/] 11 {/dede:channel}
09 {dede:channel type='son' noself='true'}
10
12
13
05 {dede:channelartlist row=6}只能首页用,子页要用改成{dede:channelartlist row=6 typeid='top'}
06
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 ";
相关主题