在制作dedecms模板的時候經常會使用currentstyle標簽高亮當前欄目,之前在dedecms模板制作基礎之~siteurl~一篇文章里說過一個解決二級欄目讀取導航鏈接的方法,就是利用了siteurl,但是,如果用了siteurl,大家會發現在用currentstyle的時候讀取不出鏈接了。這時候,我們需要對dedecms本身的模板進行修改,以滿足我們的需要。
之前一篇文章里說過一個currentstyle,就是這個樣子的currentstyle="<li><a class='hover' href='~typelink~' title='~typename~'>~typename~</a></li>"
如果我們用的不是typelink而是siteurl呢?我們會這樣寫:currentstyle="<li><a class='hover' href='~siteurl~' title='~typename~'>~typename~</a></li>",對不對?
按道理說,確實該這么寫,用~引起來,沒錯啊?可是一生成發現沒連接!
我們打開\include\taglib下的channel.lib.php文件
找到這么一行
$linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr); |
之所以我們在currentstyle="<li><a class='hover' href='~typelink~' title='~typename~'>~typename~</a></li>"中使用typelink可以取到鏈接地址,就是因為這句話。
那么,我們也仿照這句話寫出siteurl:
$linkOkstr = str_replace("~siteurl~",$row['siteurl'],$linkOkstr); |
這樣,再使用currentstyle="<li><a class='hover' href='~siteurl~' title='~typename~'>~typename~</a></li>"就可以成功讀取鏈接了。