我們在采用織夢建設網站的過程中,經常會遇到左邊側欄需要調用全部頂級欄目以及其下屬子欄目的情況,如下圖所示:
這個時候織夢現有的channel頻道標簽只能調用頂級欄目或者子欄目,兩者無法同時調用,所以這時候就得考慮channelartlist標簽,channelArtlist 是除了宏標記外,唯一一個可以直接嵌套其它標簽的標簽,具體代碼如下:
{dede:channelartlist typeid='71,76,77,78,79,80,81' row=7} <p><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></p> <ul> {dede:channel type='son' } <li><a href='[field:typelink/]'>[field:typename/]</a> </li> {/dede:channel} </ul> {/dede:channelartlist}
注:channelartlist標簽主要用于多項循環,故當typeid的值只有一項時,直接不出結果。所以想只調用一個頂級欄目下的全部子欄目時,可用以下方式:
{dede:channelartlist typeid='71,72' row=1} <p><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></p> <ul> {dede:channel type='son' } <li><a href='[field:typelink/]'>[field:typename/]</a> </li> {/dede:channel} </ul> {/dede:channelartlist}
用row=1的方式,僅僅顯示typeid號等于71的頂級欄目名稱及其全部子欄目。
如果沒有調用出頂級欄目名稱請看這里:
將上面的代碼還成下面的,其實就是改了<dt>里的調用標簽
{dede:channelartlist typeid='11' row='1'} <dt>{dede:type typeid='11'}<strong>[field:typename/]{/dede:type}</strong></dt> <ul class="c1 ico4" style="border-left:1px solid #eee; border-right:1px solid #eee;"> {dede:channel type='son' } <li><a href='[field:typelink/]'>[field:typename/]</a></li> {/dede:channel} </ul> {/dede:channelartlist}