我们用 DedeCMS 制作下拉菜单导航时,可以使用 channelartlist 循环调用顶级栏目和子栏目,下拉菜单时这一段代码可以搞定多个顶级栏目和子级栏目的同时输出。代码演示如下:
<div>
<ul>
{dede:channelartlist row=6}只能首页用,子页要用改成{dede:channelartlist row=6 typeid='top'}
<li>
<h3><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a>></h3>
<ul>
{dede:channel type='son' noself='true'}
<li><a href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
</ul>
</li>
{/dede:channelartlist}
</ul>
</div>
注:如果你想控制顶级栏目的个数,请更改上面第一行红色的 row 参数,但这样循环,如果栏目属性是外部链接就不会输出,如果需要显示外部链接,5.7 可以找 include/taglib/channelartlist.lib.php 第 67 行左右去掉红色代码
$tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 ";
改成
$tpsql = " reid=0 AND ishidden<>1 AND channeltype>0 ";
即删除 AND ispart<>2 ,完美解决。如果栏目为外部链接时默认使用新窗口打开,其它栏目使用当前窗口打开的修改方法。
查找:
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
在代码的下一行增加:
if($typeids[$i]['ispart'] == 2){
$pv->Fields['typeurl'] = $pv->Fields['typeurl'].'" target="_blank';
}
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!