微信
咨询热线:15367488089(微信同号)
咨询邮箱:207023651@qq.com
您的位置: 首页 > 新闻资讯> 织梦DEDE动态获取数据 三级栏目导航 实现 最优化代码
织梦DEDE动态获取数据 三级栏目导航 实现 最优化代码
发表日期:2019-06-03    文章编辑:ThinkECM    浏览次数:750

项目需要做三级项目实现,网上查了下资料并不算多,而且有的都是顶级为指定ID的那种,指定ID实际算是2级并不是3级,所以在此把代码贴上,以备他人所需。


1、环境:织梦


<div id="navMenu">
        <ul>
          <li ><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 ywcm_arctype where reid =~id~ '}
                <dl style="position: relative;height: 30px">
                <a href='[field:typelink/]' 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 ywcm_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>


2、实现导航切换变色 所需要修改的文件


找到 织梦 更目录下 include/taglib/channelartlist.lib.php 文件


约94行 找到 $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'] = '';  
 }


保存后生效。



标签: 铜仁网站建设,铜仁网站建设工作室,铜仁网站制作,程序员直接建站,铜仁建站,铜仁做网站公司,铜仁企业网站建设,铜仁企业网站制作,铜仁网站制作公司,企业网站制作公司,铜仁网页设计,铜仁网站设计,门户网站建设,门户网站建设公司,门户网站制作,门户网站制作公司,门户网站开发,公司建站多少钱,铜仁公司建站,公司做网站    
【版权与免责声明】本站内容为原创文章,所需转载请注明出处。如发现内容存在版权问题,烦请与本站取得联系,本站将及时沟通并处理。站点连接: http://www.thinkecm.com/article/xwzx/9141032403.html