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

 

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

{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\taglib\channelartlist.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’] = ”;

}

 

第二步:前台调用:

 

<div class=”nav”>
            <a class=”logo” href=”{dede:global.cfg_indexurl/}”><img src=”{dede:global.cfg_cmspath/}/static/picture/logo.png” alt=””></a>
            <div class=”ri”>
                <ul>
                    <li><a href=”{dede:global.cfg_indexurl/}”>首页</a></li>
                    {dede:channelartlist row=’8′ typeid=’1,9,10,11,12,13,14,15′ }
                    <li>
                        <a href=”{dede:field name=’typeurl’/}”>{dede:field name=’typename’/}</a>
                        <div class=”nav-child”>
                            {dede:channel type=’son’ noself=’yes’}
                            <a href=”[field:typelink/]”>[field:typename/]</a> {/dede:channel}
                        </div>
                    </li>
                    {/dede:channelartlist}
                    <li><a href=”#” class=”” target=”_blank”>EN</a></li>
                </ul>
                <div class=”head_ri”>
                    <form method=”get” name=”frm” target=”_blank”>
                        <div class=”search”>
                            <a href=”search.html” target=”_blank”><img src=”{dede:global.cfg_cmspath/}/static/picture/search-icon.png” alt=”” onclick=””></a>
                        </div>
                    </form>
                </div>
            </div>
        </div>

 

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