在DedeCMS網站導航中都會添加一些樣式,這樣能讓導航看起來很美觀大方,但是{dede:channel}標簽是不能修改的,想要有一個好看的樣式效果,還要修改一些標簽。
默認的{dede:channel}調用方法:
{dede:channel type='top' row='8'}
<a href="[field:typeurl/]" [field:rel/] title="[field:typename/]" class="dh1">[field:typename/]</a>
{/dede:channel}
通過修改,改成下面的樣式:
{dede:channel type='top' row='8' line='2'}
<a href="[field:typeurl/]" title="[field:typename/]" class="dh[field:line/]" [field:rel/]></a>
{/dede:channel}
修改步驟如下:
打開文件include/taglib/channel.lib.php,
把$attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|";
修改成
$attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|,line|1"; //|后面的1,代表初始值
在第9行附近追加如下代碼:
//默認屬性里設置的行數 $default_line = $ctag->CAttribute->Items["line"];
把下面代碼$row['sonids'] = $row['rel'] = '';
修改成
$row['sonids'] = $row['rel'] = ''; $row['line'] = $default_line+$i;
如果要使用currentstyle樣式,即當前欄目樣式,則必修將剛才的"line"字段,追加到下面代碼后面
$linkOkstr = str_replace("~rel~",$row['rel'],$linkOkstr); $linkOkstr = str_replace("~id~",$row['id'],$linkOkstr); $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr); $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr); $linkOkstr = str_replace("~line~",$row['line'],$linkOkstr);