在制作DEDE企业模板的时候经常会碰到导航要带下拉菜单功能的!要使用下拉菜单就必须用到channelartlist标签,那要怎么才能让channelartlist标签当前栏目高亮呢? 熟悉dede的朋友都知道channel标签的高亮功能dede自带的。 默认channel标签代码: 1 {dede:chan
在制作DEDE企业模板的时候经常会碰到导航要带下拉菜单功能的!要使用下拉菜单就必须用到channelartlist标签,那要怎么才能让channelartlist标签当前栏目高亮呢?
熟悉dede的朋友都知道channel标签的高亮功能dede自带的。
默认channel标签代码:
- {dede:channel type='top' row='0' currentstyle="<li class='hover'><a href='~typelink~' ~rel~><span>~typename~</span></a></li>"}
-
- <li><a href='[field:typeurl/]' [field:rel/]><span>[field:typename/]</span></a></li>
-
- {/dede:channel}
说明:当前栏目高亮的样式是:class='hover'
下面就跟大家分享下让织梦channelartlist标签也支持当前栏目高亮方法,
找到并打开include/taglib/channelartlist.lib.php文件,在里面找到下面这段代码:
- $pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
在此行代码下方增加以下代码:
- // 让channelartlist支持栏目高亮 By dedejs.com 04/0/9
-
- if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id']){
-
- $pv->Fields['currentstyle'] = ' class="hover"';
-
- }
-
- else{
-
- $pv->Fields['currentstyle'] = '';
-
- }
然后在模板文件中的channelartlist标签里面通过{dede:field name='currentstyle'/}调用即可,此字段输出的内容就是上面$pv->Fields['currentstyle'] = 'class="hover"';中的class="hover"。