主页 > 网站建设 > 建站知识 > 在channel标签中currentstyle读取自定义字段名的解决

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

POST TIME:2017-12-15 22:48

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


收缩
  • 微信客服
  • 微信二维码
  • 电话咨询

  • 400-1100-266