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


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

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

基本語法:

{dede:channelartlist typeid="31,32,33"}
  <div class="4u 12u(medium)">
      <section class="box feature">
          <div class="inner">
              <h2> <a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a><span><a href="{dede:field name='typeurl'/}" rel="nofollow">更多</a></span> </h2>
              <ul>
                {dede:arclist titlelen='40' row='6'}
                  <li><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></li>
                {/dede:arclist}
              </ul>
          </div>
      </section>
  </div>
{/dede:channelartlist}

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

row是調用多少條數

{dede:field name='typename'/}是欄目名稱
{dede:field name='typeurl'/}是欄目鏈接

上面的寫法只能在首頁用,子頁要改成
{dede:channelartlist row='10' typeid='top'}
  <dl>
    <dt><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></dt>/*調用頻道名*/
    <dd>
      {dede:arclist titlelen='60' row='10'}
        <li><a href="[field:arcurl /]">[field:title /]</a></li>/*調用文章標題*/
      {/dede:arclist}
    </dd>
  </dl>
{/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 ";


 


免責聲明!

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



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