注册 登录 欢迎您到模板精:织梦模板_dede模板_免费网站模板_网站源码下载

织梦教程_免费织梦模板下载_dede模板

该栏目分享织梦建站的基础知识,从织梦CMS的安装,到织梦标签的常规调用,以及织梦的常见问题答疑都有涉及。

当前位置:首页 > 织梦教程 >

dedecms导航栏首页currentstyle参数失效导致无法高亮的解决办法

免费网站模板 2017-07-03 23:04 织梦教程 评论
默认织梦的首页没有设置高亮属性,只要其他栏目可以。以下代码可以解决这个问题:

 

<li{dede:field name=typeid runphp="yes"}
(@me=="")? @me=" class='hover'":@me="";{/dede:field}>
<a href='{dede:global.cfg_cmsurl/}/'><span>主页</span></a></li>
{dede:channel type='top' row='10' 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',否则就不加,以此来达到想要的效果。


在制作DEDE企业模板的时候经常会碰到导航要带下拉菜单功能的!要使用下拉菜单就必须用到channelartlist标签,那要怎么才能让channelartlist标签当前栏目高亮呢?

        熟悉dede的朋友都知道channel标签的高亮功能dede自带的。

演示代码:

{dede:channel type='top' row='10' 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>



 说明:当前栏目高亮的样式是:class='hover'

下面我就跟大家分享下channelartlist标签支持当前栏目高亮方法:

 

打开include/taglib/channelartlist.lib.php

找到

$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);


在此行代码下方增加以下代码:

// 让channelartlist支持栏目高亮 
 
if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id']){
 
 $pv->Fields['currentstyle'] = $currentstyle ? $currentstyle : ' class="hover"';
 
}
 
else{
 
$pv->Fields['currentstyle'] = '';
 
}


然后在模板文件中调用{dede:field name='currentstyle'/}即可,此字段输出的内容就是上面$pv->Fields['currentstyle'] = ' class="hover'"';中的 class="hover'"。