找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 103|回复: 0

[cms教程] dede:channelartlist currentstyle高亮显示

[复制链接]

该用户从未签到

发表于 2020-6-9 11:20:43 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我们在用DEDECMS建站时,常常会做二级栏目的功能,既要用到二级栏目,也就要通过DEDE标签再套标签的方式来实现调用,而DEDECMS多层标签调用只支持channelartlist,也就是说我们只能通过dede:channelartlist标签才能调出二级栏目,我们用dede:channelartlist能顺利的将信息调出来,但是如果我们要设置当前所在栏目高亮显示的功能时,currentstyle属性将不起作用,下面我们就来解决channelartlist currentstyle高亮显示的问题。
         
        1、找到“/include/taglib/channelartlist.php”这个文件;
         
        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 : ' class="current"';
        }   
        else{
           $pv->Fields['currentstyle', = '';
        }
         
        4、调用方法:
         
        {dede:channelartlist typeid='top'}
       
        [url=,{dede:field name='typename'/}[/url]
       
        {/dede:channelartlist}
         
        决dede:channelartlist标签无法使用currentstyle的问题。
         
        另外需要注意的是这段代码中,请不要自作聪明的加上class="{dede:field.currentstyle/}",因为最先加的一段代码中就判断了,如果是当然栏目,系统就会自动输出“ class='current'”,照本文原样复制,即可解决这个问题。
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-7 14:43

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表