使用DedeCMS在調用某欄目的子欄目的時候,織夢無憂用channelartlist標簽時,當這個欄目沒有子欄目時,就會出現(xiàn)重復同級欄目,如下圖所示:
織夢無憂調用代碼為:
<ul> {dede:channelartlist typeid="192"} <li class="cc"> <span class="ks_left"><a href="{dede:field name='typeurl'/}" target="_blank">{dede:field name='typename'/}</a></span> <span class="ks_right"> {dede:channel noself="yes"} <a href="[field:typeurl/]" target="_blank">[field:typename/]</a> {/dede:channel} </span> </li> {/dede:channelartlist} </ul> |
這段代碼就是先循環(huán)輸出頂級欄目,再輸出子欄目,但是實際應用的時候,如果頂級欄目下沒子欄目了,理論上應該為空,這里卻調出同級欄目,這顯然不是我們需要的。
織夢無憂查詢一番,找到解決方案(適用于DedeCMS5.6以上版本):
打開include/taglib/channel.lib.php文件,找到(大概在108行):
if($type=='son' && $reid!=0 && $totalRow==0)
修改為:
if($type=='son' && $reid!=0 && $totalRow==0 && $noself=='')
這樣,就可以完美實現(xiàn)有子欄目則調用子欄目,沒有子欄目則輸出空。
版權聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權益請與我們聯(lián)系,我們將在24小時內刪除!謝謝!
轉載請注明: 織夢有子欄目則調用子欄目,沒有子欄目則輸出空