您现在的位置是:主页 > 网站制作 > 仿站cms >

织梦3级导航栏目调用

刘清2019-09-21 10:22个人博客人已围观

简介https://www.xiuzhanwang.com/dedecms_wt/934.html 织梦dedecms三级导航栏目高亮dede:channelartlist支持currentsty 1:修改文件.include\taglib\channelartlist.lib.php 找到: $pv-Fields[typeurl] = GetOneTypeUrlA($typeids[$i]); 下面

https://www.xiuzhanwang.com/dedecms_wt/934.html

织梦dedecms三级导航栏目高亮dede:channelartlist支持currentsty


1:修改文件.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'] 

  //如果循环到的id为正在打开的栏目的祖父(最顶级)栏目,则循环到的祖父id也要高亮

  ||$typeids[$i]['id']==$refObj->TypeLink->TypeInfos['reid']

  //根据现在访问的栏目id的父栏目,即 $refObj->TypeLink->TypeInfos['reid'] ,如果reid等于本次循环得到的id ,则本次循环得到的栏目高亮

  ){

$pv->Fields['active'] = $active ? $active : 'active';

}else{

$pv->Fields['active'] = '';

}


模板上如何使用:

{dede:channelartlist typeid='32' row='12' currentstyle='active'}

 <li class="{dede:field.active/}"><a href='{dede:field name="typeurl"/}'>{dede:field name="typename"/}</a> </li>

{dede:channel type='sun' row='50'}

<a href="[field:typelink/]">[field:typename/]</a>

 {/dede:channel}

{/dede:channelartlist}


以上就介绍了织梦dedecms三级导航栏目高亮dede:channelartlist支持currentstyle。


dede织梦导航栏目实现三级栏目调用的方法







<div id="navMenu">
        <ul>
          <li {dede:field name=typeid runphp="yes"}(@me=="")? @me=" class='on'":@me="";{/dede:field}><a href="/">首页</a></li>
          {dede:channelartlist typeid='top' row='10' currentstyle="home"} //currentstyle 可以实现栏目切换时改变class状态,但需要修一些文件,具体看下面一段代码
          <li class='{dede:field.currentstyle/}'><a href="{dede:field name='typeurl'/}"  rel='dropmenu'>{dede:field name='typename' /}</a>
            <div id="erji" class="erji hide" style="position: absolute;width: 200px">
            {dede:sql sql='select * from dede_arctype where reid =~id~ '}
                <dl style="position: relative;height: 30px">
                <a href="[field:typedir function='str_replace("{cmspath}","",@me)'/]" target='_self'
                title="[field:typename/]" style="width: 90%;padding-left:10%;text-align:left;line-height: 30px">[field:typename/]</a>
                <div id="sanji" class="hide" style="position: absolute;width: 200px;left: 200px;background: #0D6598;">
                [field:id runphp='yes']
                        global $dsql;
                        $id=@me;
                        $sql='Select * from dede_arctype where reid='.$id.' ORDER BY id limit 0,20';
                        $dsql->SetQuery($sql);
                        $dsql->Execute();
                        while($row = $dsql->GetArray()){
                            $url = str_replace("{cmspath}","",$row['typedir']);
                            $str .='<a href="'.$url.'" style="display: block;width: 90%;padding-left: 10%;text-align: left;line-height: 30px;">'.$row['typename'].'</a>';
                            @me = $str;
                        }                      
                        if(@me == $id){ //避免3级栏目为空时 写出分类ID,这里加以判断 
                          @me ='';
                        }
                  [/field:id]
                </div>
              </dl>
              {/dede:sql}
            </div>
          </li>
          {/dede:channelartlist}
        </ul>
</div>
这样就可以实现三级栏目菜单的调用和显示了,后台可以随便修改并且前台也会随时调用。

Tags:

很赞额!(74)

文章评论

站点信息

  • 建站时间:2018-12-1
  • 网站程序:织梦cms
  • 主题模板《今夕何夕》
  • 文章统计:299条
  • 文章评论:490条
  • 统计数据百度统计