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