您当前的位置: 主页 > 优化教程
dedecms默认模板的channelartlist是不支持currentstyle属性的。currentstyle属性在导航中应用的比较多,可以实现循环调用栏目后,当前页<li>标签获得一个class="自定义命名"的属性,具体作用就不做说明了,需要修改文件。
 
打开include\taglib\channelartlist.lib.php
找到:
 
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
在此行代码下方增加以下代码:
//让channelarclist支持currentstyle属性 if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id'] || $typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['topid'] ){ $pv->Fields['currentstyle'] = $currentstyle ? $currentstyle : 'nLi on'; } else{ $pv->Fields['currentstyle'] = 'nLi'; } //让channelarclist支持currentstyle属性end
       网上找到的一般没有加$typeids[$i]['id'] ==$refObj->TypeLink->TypeInfos['topid']
 
       添加这个后才能对二级栏目也起作用。
 
调用方法:
{dede:channelartlist typeid='2' currentstyle='current'} <li class='{dede:field.currentstyle/}'> <a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a> </li> {/dede:channelartlist}
        如果是当前栏目则 li的class属性显示current,否则显示class='' ,也可以修改currentstyle='这里改为你需要的类名'。
 
导航用channelartlist调用子栏目方法
<div class="nav"> <li {dede:field name=typeid runphp="yes"}(@me=="")? @me=" class='navOn'":@me="";{/dede:field}> <a href='{dede:global.cfg_basehost/}'>首页</a> </li> <!-- 首页判断是否添加class --> {dede:channelartlist typeid='top' currentstyle='navOn'} <li class='{dede:field.currentstyle/}'> <a href="{dede:field name='typeurl'/}">{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} </div>
       循环调用出的栏目<li>会有一个class=“navOn”属性。
 
配合使用 SuperSlide可以构建美观的下拉菜单功能
      具体的方法可以参考官方的使用方法,我使用的时候发现,“手动或后台程序添加titOnClassName类名(默认是'on'),相当于设置参数defaultIndex:2。若同时设置参数returnDefault:true,则鼠标移走后返回当前频道。 ”这个功能失效,更新后才能正常使用,但是一定要按照以上步骤进行修改才能让channelartlist支持currentstyle属性。下面附修改方法:
 
include\taglib\channelartlist.lib.php部分修改为
 
if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id'] || $typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['topid'] ){ $pv->Fields['currentstyle'] = $currentstyle ? $currentstyle : 'nLi on'; } else{ $pv->Fields['currentstyle'] = 'nLi';
后台调用部分修改为:
 
<div class="nav"> <li {dede:field name=typeid runphp="yes"}(@me=="")? @me=" class='navOn'":@me="";{/dede:field}> <a href='{dede:global.cfg_basehost/}'>首页</a> </li> <!-- 当前栏目输出<li class='nLi on'>,非当前栏目输出<li class='nLi'> --> {dede:channelartlist typeid='top' currentstyle='nLi on'} <li class='{dede:field.currentstyle/}'> <a href="{dede:field name='typeurl'/}">{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} </div>
 

关键词:DedeCMS,让,channelartlist,支持,cu    标签:
    更多资讯请收藏关注 网站模板(www.1yc.cn)

织梦当天发布文章标题加红色(new)让每次到访网站的用户都能明显看到新增加的内容,这对用户体验来说是非常好... 2021-07-22
两步修改DedeCMS文章标题、来源、摘要、作者等字段的字数限制DEDECMS修改文章标题,来源,摘要,作者等字数限制 具体步骤: 1... 2021-07-27
织梦怎么在文章页面添加图片展示功能可能使用dedecms建立产品企业站点的朋友知道,某发表的文章里面刚好... 2021-08-14
DEDECMS织梦重命名更改plus文件夹名称的简单方法DEDE有很多漏洞都是出自plus文件夹下的文件,网上有很多挂马工具都... 2021-07-22
织梦自定义模型中新增的字段会报错 Call to a member function GetInnerText() o在织梦自定义模型后,可能会报下面这个错误,Fatal error: C... 2021-07-27
DedeMS内容列表标签无法调用副栏目文章的解决办法最近,发现dedecms中的文章在选择幅栏目后,在其对应的幅栏目列表页... 2021-07-30
DedeCMS让channelartlist支持currentstyle属性dedecms默认模板的channelartlist是不支持curre... 2021-07-30
dedecms模板自带的网站地图如何优化?dedecms模板自带的网站地图如何优化?使用 织梦模板 做网站的人应... 2021-07-27
dedecms调用三级栏目名与栏目下的内容列表以下代码实现: 把地区划成省-市-文章的层级结构,栏目首页显示: {d... 2021-07-27
dedecms子栏目中调用其顶级栏目名称和简介的方法本文实例讲述了dedecms子栏目中调用其所属顶级栏目的名称和简介的方... 2021-07-27
{dede:field name='softlinks'/}下载页织梦标签修改织梦Dedecms的软件模型中,{dede:field name=so... 2021-07-30
织梦DedeCMS删除文章时不删除HTML 不删除附件图片计划永远赶不上需求,织梦DedeCMS为我们考虑得非常全面,但并不是,... 2021-07-30
织梦5.7修改搜索结果页 关键字 红色 颜色nclude 目录下 arc.searchview.class.php... 2021-07-27
织梦DedeCMS 5.7图集点击图片进入下一篇的修改方法织梦DedeCMS图集点击到最后一页会提示没有了哦,这样对用户体验不好... 2021-07-30

线
咨询热线:
135-0038-3336
在线客服:
点击这里给我发消息
微信交流:
公司官网: www.1yc.cn