我们用DedeCMS制作下拉菜单导航时,可以使用channelartlist循环调用顶级栏目和子栏目,下拉菜单时这一段代码可以搞定多个顶级栏目和子级栏目的同时输出。代码演示如下:

01	<div>
02	
03	    <ul>
04	
05	    {dede:channelartlist row=6}只能首页用,子页要用改成{dede:channelartlist row=6 typeid='top'}
06	
07	     <li>
08	
09	     <h3><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a>></h3>
10	
11	          <ul>
12	
13	              {dede:channel type='son' noself='true'}
14	
15	              <li><a href='[field:typelink/]'>[field:typename/]</a></li>
16	
17	              {/dede:channel}
18	
19	          </ul>
20	
21	      </li>
22	
23	    {/dede:channelartlist}
24	
25	    </ul>
26	
27	</div>

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

但该标签有一个问题,那就是不能获取并调用使用外部链接的栏目,但是我们可以通过修改文件来修复这个BUG,下面是详细的步骤:

找到并打开include/taglib/channelartlist.lib.php文件,在大概第67行左右找到下面这句代码:

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

替换成下面这句:

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


到这里就修改完成了,生成一下全站试试。

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。