zoukankan      html  css  js  c++  java
  • 织梦channelartlist标签当前栏目高亮

    channelartlist标签完美支持currentstyle属性,实现自动加载当前栏目CSS样式,可以用来标识当前栏目位置的CSS,解决方法如下: 

    打开文件include aglibchannelartlist.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'] = ''; 
            } 

    添加这个后才能对二级栏目也起作用
    调用方法:
     
    {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='这里改为你需要的类名'。

    -------------------------------------------------------------------------------------------------------------------------
    也可以与arclist标签相结合使用,
    这样调用:
    {dede:channelartlist typeid='2' currentstyle='current'}
    <dt ><a class='{dede:field.currentstyle/}' href='{dede:fieldname='typeurl'/}'>{dede:field name='typename'/}</a></dt>
    {dede:arclist titlelen='42' row='10' currentstyle="<dd><a class='current' href='~typelink~'>~typename~</a></dd>"}
         [field:array runphp='yes']
             if(@me['currentstyle']){
                 @me = @me['currentstyle'];
             }else{
                 @me = "<dd ><a href='{@me['arcurl']}'>{@me['title']}</a></dd>";
             }
         [/field:array]
    {/dede:arclist}
    {/dede:channelartlist}
     
     
     
     
    例:是否是当前栏目,如果是显示高亮。          二级判断是否有二级栏目,如果有显示下拉菜单。
    {dede:channelartlist typeid='1,14,2,3,10,11' row='6' currentstyle="active"} 
    									<li class='{dede:field.currentstyle/}'><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}
    										{dede:field name=typeid runphp="yes"}
    										global $dsql;
    										$sql = "SELECT id From `dede_arctype` WHERE reid='@me' And ishidden<>1 order by sortrank asc limit 0, 100 ";
    											$row = $dsql->GetOne($sql); 
    										if(@me=is_array($row))
    										@me='<i class="fa fa-angle-down"></i>';
    										else @me = "";
    										{/dede:field}
    									</a>
    										<ul>
    										{dede:channel type='son' noself='yes'}											
    											<li><a href="[field:typelink/]">[field:typename/]</a></li>
    										{/dede:channel}
    										</ul>
    									</li> 
    									{/dede:channelartlist}
    

      

    
    
    

    来源:http://www.xiuzhanwang.com/dedecms_jq/305.html

  • 相关阅读:
    数据对拍
    学大伟业 Day 5 培训总结
    【luogu P3378 堆】 模板
    【luogu P1865 A % B Problem】 题解
    学大伟业 Day 4 培训总结
    【luogu P1082 同余方程】 题解
    诗一首
    【luogu P2251 质量检测】 题解
    【luogu P3865 ST表】 模板
    【luogu P1816 忠诚】 题解
  • 原文地址:https://www.cnblogs.com/xiaomifeng/p/10059179.html
Copyright © 2011-2022 走看看