channelartlist標籤不能調用外部鏈接欄目的解決辦法
我們用DedeCMS製作下拉菜單導航時,可以使用channelartlist循環調用頂級欄目和子欄目,下拉菜單時這一段代碼可以搞定多個頂級欄目和子級欄目的同時輸出。代碼演示如下:
<div>
<ul>
{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參數
但該標籤有一個問題,那就是不能獲取並調用使用外部鏈接的欄目,但是我們可以通過修改文件來修復這個BUG,下面是詳細的步驟:
找到並打開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 ";
到這裏就修改完成了,生成一下全站試試。