您当前的位置: 主页 > 优化教程
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)

DedeCms后台SQL命令行工具替换或清除指定字符DedeCms的普及率非常高,可以说每一位站长都曾用或正在使用Dede... 2021-07-22
dede教程:织梦使用channelartlist在列表页和内容页用dede时,想在列表页和内容页调用同级栏目的文章,当然可以使用{de... 2021-07-22
dede 5.7后台移动栏目,下拉列表显示不全的问题想移动子栏目到其他栏目下,点其后的移动,打开的页面里你希望移动到那个栏... 2021-07-22
dedecms中rss的描述实现全文内容输出的方法Dedecms的rss功能,相信很多站长朋友都在php虚拟主机中使用吧... 2021-07-30
DEDECMS自定义模型附件类型调用链接地址的方法在系统模型中添加了一个自定义附件类型字段的时候 例如我在后台添加一个名... 2021-07-27
DEDECMS如何实现“文章标题-栏目名称-网站名”的相关设置织梦文章内容页title中实现文章标题-栏目名称-网站名的设置方法有三... 2021-08-14
Dedecms获取某篇文章内容的方法Dedecms作为目前主流的开源cms系统之一,得到外界很多的好评,包... 2021-08-14
织梦dede首页幻灯片调用大图不调用缩略图的方法织梦dedecms,首页幻灯片我需要做的比较大,但是默认调用的是缩略图... 2021-07-27
DEDE织梦模板时间格式化标签pubdate简介带时分:[field:pubdate function=GetDate... 2021-07-22
dedecms织梦文章内容图片绝对路径显示修改。织梦在v5.7版本中开启子域名或二级域名后,由于文章页面读取的是相对路... 2021-07-22
dedecms获取顶级栏目名称、二级栏目名称实现方法织梦DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法 在用织梦... 2021-07-30
织梦一键清空自定义表单垃圾信息方法一招清空DEDECMS自定义表单所有数据且以后新增加表单数据ID从1开... 2021-07-22
织梦5.7修改搜索结果页 关键字 红色 颜色nclude 目录下 arc.searchview.class.php... 2021-07-27
织梦dedecmsv5.x自动登录的实现方法本节内容: 织梦dedev5.x自动登录 实现步骤: 1,取消DEDE... 2021-07-22
限制织梦dedecms会员每天投稿数量方法经常有人提问怎么限制会员每天发稿数量,之前在网上转载过一篇类似文章,大... 2021-07-27

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