织梦一级栏目二级栏目导航菜单被点击顶级栏目高亮解决方法

解决办法

织梦一级菜单被点击栏目高亮调用方法:

{dede:channel typeid ='1'  type ='son' currentstyle="<li class='on'><a href='~typelink~'>~typename~</a></li>"}
<li><a href='[field:typeurl/]'>[field:typename/]</a></li>
{/dede:channel}

*注:对当前栏目列表设置了class='on',可以通过css样式为其设置背景图片或颜色,从而达到栏目高亮的效果。

首页判断是否添加class 调用方法:

 <li><a {dede:field name=typeid runphp="yes"}(@me=="")? @me=" class='on'":@me="";{/dede:field} href="{dede:global.cfg_basehost/}">网站首页</a></li>

*注:首页判断是否添加class=’on’属性

织梦二级菜单被点击栏目高亮调用方法:

第一步:因为织梦默认dede:channelartlist标签是不支持currentstyle属性的,所以接加下先修改channelartlist.lib.php

1:打开include/tag/lib/channelart/list.lib.php,找到:

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

2:替换成下所示代码:

$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id'] || $typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['topid'] ){  
$pv->Fields['currentstyle'] = $currentstyle ? $currentstyle : 'on';  
}  
else{
$pv->Fields['currentstyle'] = '';  
}  

第二步:前台调用:

{dede:channelartlist typeid='top' currentstyle='on' } <li><a class="{dede:field.currentstyle/}" href="{dede:field name='typelink'/}" >{dede:field name='typename'/}</a> <ul>{dede:channel type='son' noself='yes'} <li><a href="[field:typelink/]" >[field:typename/]</a></li> {/dede:channel} </ul> </li> {/dede:channelartlist}
织梦一级栏目二级栏目导航菜单被点击顶级栏目高亮解决方法

*注:生成栏目,循环出的顶级栏目li会有一个class=“on”的属性。页面效果如图所示:

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索