织梦DedeCMS当前栏目高亮(二三级栏目高亮)的实现方法

织梦默认导航标签没有给当前栏目判断加高亮的设置(currentstyle只支持顶级栏目高亮),如果要实现当前栏目高亮,这个方法是不适用的。 织梦模板当前栏目高亮(非顶级栏目高亮)的实现方法 解决方法如下:要实现此功能,需要首先进行设置:后台-系统-其它选项-模板引擎禁用标签-去掉php 。 DedeCMS当前栏目高亮(非顶级栏目高亮)的实现方法 在要实现调用的地方加上如下代码:
{dede:php}$GLOBALS['thisid'] = intval($refObj->Fields['typeid']);{/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>
也可以这样用

<div class="fdh-01-nav">
	{dede:php}$GLOBALS['thisid'] = intval($refObj->Fields['typeid']);{/dede:php}
	{dede:channelartlist typeid='1,2' currentstyle='thisclass'}
	<div class="fdh-01-nav-one">
	  <h3 class='{dede:field.currentstyle/}'><a href="{dede:field name='typeurl'/}" title="{dede:field name='typename'/}"> {dede:field name='typename'/} </a></h3>
	  <dl class="{dede:field.currentstyle/}z">
		<!-- 2级 -->
		{dede:channel type='son'}
		<dt [field:id runphp='yes'] if (@me == $GLOBALS['thisid'] ) @me = "class='thisclass'" ;else @me ="";[/field:id]> <a href="[field:typelink/]" title="[field:typename/]"> [field:typename/] </a> </dt>
		{/dede:channel}
	  </dl>
	</div>
	{/dede:channelartlist}
</div>
以上是全部代码,下面进行说明:
{dede:php} $GLOBALS['thisid'] = intval($refObj->Fields['typeid']); {/dede:php}
获取当前栏目ID。
[field:id runphp='yes'] if (@me == $GLOBALS['thisid'] ) @me = "class='thisclass' " ;[/field:id]
对dede:channel标签运行PHP,如果ID相等,输出class='thisclass'(此标签可根据具体情况自行变换) 。 也可以这样用