muban大师 发表于 2020-3-21 13:14:59

dedecms调用二级栏目并实现channelartlist支持currentstyle属性

dedecms默认模板的channelartlist是不支持currentstyle属性的。currentstyle属性在导航中应用的比较多,可以实现循环调用栏目后,当前页
       
        标签获得一个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'}
       
       
       
        。。。
       
        {/dede:channelartlist}
       
        如果是当前栏目则 li的class属性显示current,否则显示class='' ,也可以修改currentstyle='这里改为你需要的类名'。
       
        导航用channelartlist调用子栏目方法
页: [1]
查看完整版本: dedecms调用二级栏目并实现channelartlist支持currentstyle属性