通過dede調(diào)用二級欄目大家都會調(diào)用,但要調(diào)用三級欄目,就有點麻煩了,如下樣式的三級欄目dede如何調(diào)用呢?如下:
----------------------------------------A級主欄目
+頂級欄目
+二級欄目
+三級欄目(A)
+三級欄目(B)
+三級欄目(C)
+二級欄目
+三級欄目(D)
+三級欄目(E)
+三級欄目(F)
----------------------------------------B級主欄目
+頂級欄目
+二級欄目(G)
+二級欄目(H)
+二級欄目(I)
{dede:channelartlist typeid=6 row=4} (注:這是頂級欄目id)
<div>
<span><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></span> (注:這是二級欄目名稱)
<ul>
{dede:sql sql='Select * from dede_arctype where reid=~id~ ORDER BY id limit 0,7'}
<li><a href='[field:typedir function='str_replace("{cmspath}","",@me)'/]' target='_blank'>[field:typename/]</a></li>(注:這是三級欄目的靜態(tài)路徑和欄目名稱)
{/dede:sql}
</ul>
</div>
{/dede:channelartlist}
因為[field:typedir /]在數(shù)據(jù)庫存儲的路徑包括{cmspath}這個字符串,所以我們必須處理一下,就用到織夢(dedecms)自帶的cn_substr這個系統(tǒng)函數(shù),這里簡要說一下這個函數(shù)的參數(shù),@me是當前字段值,也就是取出的[field:typedir /]這個值,200和9表示從第9個字符位置( (不包括這個字符))開始截取200個字符。
typeid='' 指定頂級欄目就可以啦, limit0,7 這個7是控制三級欄目的顯示個數(shù)的,顯示樣式自己調(diào)整CSS。
可能有很多人因為各種需要,不論是增加密度還是操作方面的便捷性增強用戶體驗,會涉及到dede需要增加三級或者更深層級導航的需求,直接上代碼:
<ul>
<li>{dede:type typeid='3'}<a href="[field:typelink/]">[field:typename/]{/dede:type}</a> (如果上面二級名稱掉不出來可以用這個)
<ul>
{dede:channelartlist typeid='3'}
<li><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a>
<ul>
{dede:sql sql='Select * from dede_arctype where reid=~id~'}
<li><a href='[field:typedir function='str_replace("{cmspath}","",@me)'/]'>[field:typename/]</a></li>
{/dede:sql}
</ul>
</li>
{/dede:channelartlist}
</ul>
</li>
</ul>
以上代碼能夠?qū)崿F(xiàn)理論上無限層級深度的導航菜單調(diào)用。要實現(xiàn)相應(yīng)樣式,自己用CSS來修飾。
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: 織夢數(shù)據(jù)庫實現(xiàn)調(diào)用頂級二級欄目及下三級欄目方法