演示链接:查看演示

dedecms导航高亮标签currentstyle调用自定义字段的方法

用dedecmsCMS仿站时候,经常会使用currentstyle标签高亮当前的栏目,具体代码为:

 

currentstyle='<li class="current-menu-item"><a href="~typelink~"><i class="~typefabefore~ fa"></i><span class="font-text">~typename~</span></a></li>'

但是在实际建站操作中经常调用自定义字段,大家会发现在用currentstyle的时候读取不出自定义字段的内容了。这时候,我们就需要对dedecmsCMS进行二次开发,以满足我们的需要。

 

1、我们打开/include/taglib/channel.lib.php文件,在136行找到:

 

$row['typelink'] = GetOneTypeUrlA($row);

2、按照格式规则写入我们需要调用的自定义字段。例如,我们要调用abcd字段名,那么我们就这样写:

 

$linkOkstr = str_replace("~abcd~",$row['abcd'],$linkOkstr);

示例:

 

//处理同级栏目中,当前栏目的样式 if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' ) {     $linkOkstr = $currentstyle;     $row['typelink'] = GetOneTypeUrlA($row);     $linkOkstr = str_replace("~abcd~",$row['abcd'],$linkOkstr);//这一句就是我们新增的字段名     $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);     $likeType .= $linkOkstr; }

3、现在我们就可以在currentstyle中用~abcd~来调取相应的内容了。
 

THE END
喜欢就支持一下吧
点赞0 分享