在制作
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>"就可以成功读取链接了。