织梦默认导航标签没有给当前栏目判断加高亮的设置(currentstyle只支持顶级栏目高亮),如果要实现当前栏目高亮,这个方法是不适用的。
DedeCMS当前栏目高亮(非顶级栏目高亮)的实现方法
织梦模板网给出大家解决方法如下:要实现此功能,需要首先进行设置:后台-系统-其它选项-模板引擎禁用标签-去掉php 。
DedeCMS当前栏目高亮(非顶级栏目高亮)的实现方法
在要实现调用的地方加上如下代码:
{dede:php}$GLOBALS['thisid'] = intval($refObj->Fields['id']);{/dede:php}
<ul>
<li><a href="/" target="_blank" {dede:php} if(!$GLOBALS['thisid']) echo "class='this'"; {/dede:php} ><span>HOME</span><br/>首 页</a></li>
{dede:channel type='top' row='7' }
<li><a href="[field:typeurl/]" [field:id runphp='yes'] if (@me == $GLOBALS['thisid'] ) @me = "class='thisclass' " ;[/field:id] target="_blank" ><span>[field:alias/]</span><br/>[field:typename/]</a></li>
{/dede:channel}
</ul>
以上是全部代码,下面进行说明:
{dede:php} $GLOBALS['thisid'] = intval($refObj->Fields['id']); {/dede:php}
获取当前栏目ID。
[field:id runphp='yes'] if (@me == $GLOBALS['thisid'] ) @me = "class='thisclass' " ;[/field:id]
对dede:channel标签运行PHP,如果ID相等,输出class='thisclass'(此标签可根据具体情况自行变换) 。
DedeCMS当前栏目高亮(非顶级栏目高亮)的实现方法