文章列表的模板制作方法如下
如果沒有進(jìn)行特別的設(shè)置,專題的文章列表顯示默認(rèn)是采用的default下面的article_spec.htm文件作為模板。
這個(gè)模板文件很簡(jiǎn)單,前面是該專題的一些信息,下面是分割線,分割線以下就是現(xiàn)實(shí)節(jié)點(diǎn)和節(jié)點(diǎn)文章的模塊。
這個(gè)模塊按理說應(yīng)該是專題模板最重要的內(nèi)容,可是只有下面幾行:
{dede:field.note/}
< /div>
實(shí)在是讓人出乎意料-這讓人怎么改啊,連html標(biāo)簽都看不到。雖然不滿,但是既然用了dedecms,就只能這樣了,也許作者是希望減少用戶的工作量吧,可以理解。
要靈活的修改這個(gè)頁面顯示節(jié)點(diǎn)文章的樣式,我想到了兩種辦法:
直接在瀏覽器顯示該頁面時(shí)查看html代碼的方式。
不管你后臺(tái)是如何做的,顯示在瀏覽器上的才是最終結(jié)果。所以我只需看你最終的html代碼,查看用到了那些html元素,在將相關(guān)元素的css寫在樣式表里面。這里有點(diǎn)小技巧,用firefox的firebug可以很容易的完成這個(gè)工作,至于怎么用,這里就不講解了,可以直接百度。
節(jié)點(diǎn)名稱
節(jié)點(diǎn)文章列表
知道這個(gè)以后,修改樣式應(yīng)該不難了吧。
雖然上訴的方法不麻煩,但是總覺得不靈活。那我們直接看源碼,然后隨意的修改吧。
處理專題主題調(diào)用標(biāo)簽{dede:field.note/}的php文件是include/taglib/channel/specialtopic.lib.php.
找到ch_specialtopic()函數(shù)的第五行
$tempStr = GetSysTemplets('channel_spec_note.htm');
從這里可以看到channel_spec_note.htm這個(gè)文件決定了節(jié)點(diǎn)和節(jié)點(diǎn)文章的顯示。
channel_spec_note.htm文件放在系統(tǒng)模板文件里面templets/system/channel_spec_note.htm
打開該文件我們發(fā)現(xiàn)里面的html代碼和在瀏覽器查看的幾乎一模一樣:
~notename~
~spec_arclist~
在實(shí)際運(yùn)行的時(shí)候notename會(huì)被替換成節(jié)點(diǎn)名,~spec_arclist~
會(huì)被替換成節(jié)點(diǎn)文章超鏈接。~spec_arclist~其實(shí)是一個(gè)字符串:形如
文章超鏈接
找到這個(gè)文件可以修改除了li之外的所以html元素,但是li我們還是不能為其加上類和id。