DedeCMS用channelartlist調用頂級欄目及列表


     這個標簽全局都可使用,可以減少多次使用 {dede:arclist typeid=‘欄目ID’titlelen='60' row='10'}。除了宏標記外,{dede:channelartlist}是唯一一個可以直接嵌套其它標記的標記,不過僅限於嵌套{dede:type}{/dede:type}和{dede:arclist}{/dede:arclist}兩個標記。{dede:channelartlist}和{dede:arclist}嵌套使用能同時調用頂級欄目或該欄目的下級欄目的文章,再嵌套下下級欄目需要二次開發。

       官方對該標簽的案例講解有錯誤,下面筆者糾正過來。

基本語法:

01 {dede:channelartlist row='10'}
02 <dl>
03  <dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt>/*調用頻道名*/
04  <dd>
05   {dede:arclist titlelen='60' row='10'}
06      <li><a href="[field:arcurl /]">[field:title /]</a></li>/*調用文章標題*/
07   {/dede:arclist}
08  </dd>
09 </dl>
10 {/dede:channelartlist}

   

如果只要調用其中幾個頻道的內容可以用{dede:channelartlist typeid='1頻道ID,2頻道ID,3頻道ID'} 。不想調用某個頻道那就設置該頻道屬性隱藏即可。

上面的寫法只能在首頁用,子頁要改成
 

01 {dede:channelartlist row='10' typeid='top'}
02 <dl>
03  <dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt>/*調用頻道名*/
04  <dd>
05   {dede:arclist titlelen='60' row='10'}
06      <li><a href="[field:arcurl /]">[field:title /]</a></li>/*調用文章標題*/
07   {/dede:arclist}
08  </dd>
09 </dl>
10 {/dede:channelartlist}


channelartlist不能獲取頂級欄目屬性為外部鏈接的解決辦法

       channelartlist是不能獲取頂級欄目為外部鏈接的,這不夠靈活,打開include/taglib/channellist.lib.php,找到

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

       修改為

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

 

AiteCms,企業模板快速建站專家,點擊了解更多

 

轉載自織夢模板教程(www.dede58.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM