DedeCMS前端開(kāi)發(fā)會(huì)用autoindex和currentstyle這兩個(gè)重要標(biāo)簽,但默認(rèn)的currentstyle標(biāo)簽并不支持這些二次開(kāi)發(fā)的標(biāo)簽和自增標(biāo)簽[field:global.autoindex/],對(duì)欄目增加英文欄目和縮略圖可以參考文章《DedeCMS增加英文欄目名稱欄目縮略圖及調(diào)用》。很多網(wǎng)站需要下面的功能:
1.調(diào)用多個(gè)頻道采用不同CSS樣式
這些DIV需要運(yùn)用自增標(biāo)簽[field:global.autoindex/]或[field:global.itemindex/]實(shí)現(xiàn)不同的class或id。生成如下代碼:
<p class="nav"> <ul> <li class="a1"><a href="欄目1鏈接">欄目1</a></li> <li class="a2"><a href="欄目2鏈接">欄目2</a></li> <li class="a3"><a href="欄目3鏈接">欄目3</a></li> </ul> </p>
這樣就能自由編寫樣式了,在移動(dòng)端首頁(yè)的小圖標(biāo)運(yùn)用較多。
2.用戶知道自己在具體哪個(gè)欄目頻道
搜索引擎可以通過(guò)標(biāo)簽或鏈接知道自己在那里,從用戶體驗(yàn)角度,應(yīng)用currentstyle標(biāo)簽判斷當(dāng)前頻道,給DIV特定的class,編寫不同的樣式。就能直觀的看得出自己的所在位置。
3.在實(shí)際應(yīng)用中,往往需要二次開(kāi)發(fā),能讓這兩個(gè)標(biāo)簽更好用
根據(jù)上述要求,舉個(gè)常用例子:(注意雙引號(hào)和單引號(hào)的用法區(qū)別)
<p class="nav"> <ul>{dede:channel type='top' currentstyle=" <li class='on ico-~autoindex~'> <img src='~typelitpic~' /> <p><a href='~typelink~' title='中文欄目'>~typename~</a></p> <p><a href='~typelink~' title='英文欄目'>~typenameen~</a></p> </li>"} <li class="ico-[field:global.autoindex/]"> <img src="[field:typelitpic/]"/><!--欄目縮略圖--> <p><a href="[field:typeurl/]" title="中文欄目">[field:typename/]</a></p> <p><a href="[field:typeurl/]" title="英文欄目">[field:typenameen/]</a></p> </li> </ul> </p>
在include/taglib/channel.lib.php,找到
$linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);
在下面增加
//增加autoindex,typenameen,typelitpic $linkOkstr = str_replace("~autoindex~",$GLOBALS['autoindex'],$linkOkstr); $linkOkstr = str_replace("~typenameen~",$row['typenameen'],$linkOkstr); $linkOkstr = str_replace("~typelitpic~",$row['typelitpic'],$linkOkstr);
這樣修改后前臺(tái)是不能直接調(diào)用的,繼續(xù)找到
if($type=='top')
這是頂級(jí)欄目,找到typename,跟著typename后面增加
typenameen,typelitpic,
其他欄目在78,86,92左右,做相同的修改。
這樣就能在應(yīng)用樣式currentstyle增加調(diào)用縮略圖(typelitpic)、欄目英文名(typenameen)、自增標(biāo)簽([field:global.autoindex/])