博客之前做網站的時候經常會遇到二級菜單、三級菜單。了解dede的人都知道從5.5版本開始都有二級菜單的調用方法了,網上也有不少的教程文章。不過這個調用需要修改dede源碼的二級菜單樣式。個人感覺不是很方便,所以在這里博主整理了一些比較實用的調用方法分享給大家,也希望對大家有所幫助。
一、先說下頂級菜單的調用吧
該類欄目的dedecms調用方法比較簡單,如下:
{dede:channel type='top' currentstyle="~typename~ "}
- [field:typename/]
- {/dede:channel}
注釋(參數): typeid='0' 欄目ID; reid = '0' 上級欄目ID; row = '100' 調用欄目數; col = '1' 分多少列顯示(默認為單列);type = 'son | sun' son表示下級欄目,self表示同級欄目,top頂級欄目; currentstyle = '' 應用樣式"。
這種方法會把后台的頂級欄目都調用出來,如果想有些欄目不被調用出來,可以加上參數typeid=‘所要調用欄目的id’。對於調用指定的欄目可以用下面的標簽:
{dede:type typeid=‘指定欄目的id’}[field:typename /]{/dede:type}
二、 帶有二級子欄目的欄目的調用,這類網站用於信息分類比較多的網站,其樣式圖如下:
這種欄目是比較常見的,其dedecms調用代碼如下:
{dede:channelartlist typeid='1,2,3,6,7,10,8,11' row='10'} //typeid=‘頂級欄目的id’
{dede:field name='typename'/}
{dede:channel type='son' noself='yes'}
[field:typename/]
{/dede:channel}
{/dede:channelartlist}
對於沒有子欄目的頂級欄目可以使用調用指定欄目的標簽:
{dede:type typeid=‘指定欄目的id’}
- [field:typename /]
- {/dede:type}
這樣可以實現上述欄目的調用。
三、有三級子欄目的調用代碼,這類導航適用於商城等,其樣式圖如下:
對於這種欄目的調用代碼如下:
-
{dede:type typeid='2'}[field:typename/]{/dede:type} //頂級欄目的調用
{dede:channelartlist typeid='top' typeid='2'} //二級欄目和三級欄目的調用這里typeid='子欄目所屬的頂級欄目的id'
- {dede:field name='typename'/}
-
-
{dede:sql sql='Select * from dede_arctype where reid=~id~ ORDER BY id limit 0,20'} //limit 起始三級欄目id 顯示欄目的條數
- [field:typename/]
-
{/dede:sql}
-
-
{/dede:channelartlist}
一般網站最多也只有三級欄目,在大家實際應用的實用只需要把代碼復制進去,調用相對應的參數即可。好了,今天的分享就到這里。博主還有很多好的資源等待與您的見面。希望大家繼續關注張路博客文摘,萊蒂斯俺的箭頭們,下期再見~~
完整實例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>index</title>
<link href="{dede:global.cfg_templets_skin/}/images/css.css" rel="stylesheet" type="text/css" />
</head>
<body>
<li>
{dede:type typeid='53'}<a href='[field:typelink/]' class="depth_1">頂級[field:typename/]</a>{/dede:type}
<ul class="children" style="display:block; ">
{dede:channelartlist typeid='top' typeid='53'}
<li><h3 ><a href='{dede:field name='typeurl'/}' class="depth_2"><span class="icon10"></span>二級{dede:field name='typename'/}</a></h3> <ul>
{dede:sql sql='Select * from dede_arctype where reid=~id~ ORDER BY id limit 00,20'}
<li><a href="[field:typedir function='str_replace("{cmspath}","",@me)'/]" class="depth_3">三級[field:typename/]</a></li>
{/dede:sql}
</ul>
</li>
{/dede:channelartlist}
</ul>
</li>
</body>
</html>