POST TIME:2021-05-10 11:02
請問在dedecms模板中如何實現(xiàn)導航欄中當前欄目的樣式和非當前欄目不同,也就是當前欄目高亮顯示?如果是頁面是當前欄目的頁面,比如說導航中有:
這五個導航欄目,那么當我瀏覽<公司簡介>這一欄目時<公司簡介>在導航條中就高亮顯示如:
首頁、公司簡介、公司新聞、產品中心、聯(lián)系我們
或者采用另外的css樣式,像:背景改為紅色,非當前欄目就采用別的css樣式。怎么實現(xiàn)這個功能呢?
1:首選我們來了解一下(channel)標簽的使用:
標簽名稱:channel
標記簡介:織夢常用標記,通常用于網(wǎng)站頂部以獲取站點欄目信息,方便網(wǎng)站會員分類瀏覽整站信息功能說明:用于獲取欄目列表適用范圍:
全局使用基本語法:
{dede:channel type='top' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}
<li><a href='[field:typelink/]'>[field:typename/]</a>
</li>
{/dede:channel}
參數(shù)說明:typeid = '0' 欄目ID
reid = '0' 上級欄目ID
row = '100' 調用欄目數(shù)
col = '1'分多少列顯示(默認為單列)
type = 'son | sun' son表示下級欄目,self表示同級欄目,top頂級欄目
currentstyle = ''應用樣式
class='thisclass' thisclass這個是自由的,他代表的意思是樣式表里面,你所給的高亮顯示的樣式。
底層模板字段:ID(同 id),typeid, typelink, typename, typeurl,typedir(僅表示欄目的網(wǎng)址)
例:{dede:channel type='top'}<a href='[field:typelink /]'>[field:typename/]</a>{/dede:channel}
注:在沒有指定typeid的情況下,type標記與模板的環(huán)境有關,如,模板生成到欄目一,那么type='son'就表示欄目一的所有子類。
請看我的 dedecms模板中導航部分代碼:
<DIV class=menu>
<UL>
<LI><A href="/">首頁</A> </LI>
{dede:channel type='self' row='8' currentstyle="<li class=hover><a href=~typelink~>~typename~</a></li>"}
<LI><a href='[field:typelink/]'>[field:typename/]</a></LI>
{/dede:channel}
</UL>
</DIV>
那么我們在樣式表里面的hover就是控制高亮顯示的樣式:
.menu{里面就不多寫了}
.menu ul{里面就不多寫了}
.menu ul li{里面就不多寫了}
.menu ul li a{里面就不多寫了}
.hover{background:url(bg-nav.jpg) no-repeat;}
上面這段是我的網(wǎng)頁頂部導航菜單,其中currentstyle就是用來實現(xiàn)當前欄目突出顯示的。 class=hover自然是我定義的當前欄目樣式啦!
這里就涉及到了dedecms的標簽問題,其實熟悉dedecms標簽的同學對這個問題就不會為難,以下是dedecms的官方頻道標簽(也就是導航條用
到的標簽)說明:其中 class='thisclass' 中的thisclass就是你定義的css樣式類別名(class,類別選擇器),應用時改為你定義的class。
class='thisclass'放在<a>標記中則css樣式作用于<a>,也可以放在<li>標記中,作用于<li>標記。