• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    【dede】列表页调用二三级导航栏
    POST TIME:2021-05-23 01:45
    dede列表页调用二三级导航栏
     
    1.首先看一下调用的代码如下:
     
    {dede:channelartlist typeid='3'}
           {dede:fieldname='typename'/}
       {dede:channel type='son'noself='yes'}    
       
    • [field:typename/]
       {/dede:channel}
    {/dede:channelartlist}   
    这段代码的意思是查询栏目id为3的子栏目然后在查询子栏目的子栏目。效果如图所示:
     
     
     
    这样会出现一个问题,就是如果该栏目没有子栏目的话,就会取他的同级栏目,那么如何解决{dede:channeltype='son'}无子栏目时取同级栏目问题呢?
     
    其实很简单:
     
    打开:include\taglib\channel.lib.php文件。
    找到
     
    if($type=='son' && $reid!=0&& $totalRow==0)
    改成
    if($type=='son' && $reid!=0&& $totalRow==0&& $noself=='')
    这样就对了。
     
     
     
    dede让channelartlist标签支持currentstyle属性
     
    打开include\taglib\channelartlist.lib.php
    找到
        $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 : 'current';  
             }  
             else{  
                 $pv->Fields['currentstyle'] = '';  
             }
     
    网上找到的一般没有加$typeids[$i]['id'] ==$refObj->TypeLink->TypeInfos['topid']
    添加这个后才能对二级栏目也起作用
    调用方法:
    {dede:channelartlist typeid='2' currentstyle='current'}  
     
    • {dede:field name='typename'/}
    •  
     。。。  
     {/dede:channelartlist} 
     
    如果是当前栏目则 li的class属性显示current,否则显示class='' ,也可以修改currentstyle='这里改为你需要的类名'。
    --------------------- 
    作者:林家阿酒 
    来源:CSDN 
    原文:https://blog.csdn.net/wzl505/article/details/79104427 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    0


    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!