在channel标签中currentstyle读取自定义字段名的解决方法

时间:2014-06-29
       在制作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>"就可以成功读取链接了。

 



 

上一条:在dedecms搜索模板中调用自定义字段名的方法 下一条:dedecmsV5.7如何添加自定义函数

相关文章

最新文章