• 通用方法解决dedecms导航调用二级、三级栏目菜单


    博客之前做网站的时候经常会遇到二级菜单、三级菜单。了解dede的人都知道从5.5版本开始都有二级菜单的调用方法了,网上也有不少的教程文章。不过这个调用需要修改dede源码的二级菜单样式。个人感觉不是很方便,所以在这里博主整理了一些比较实用的调用方法分享给大家,也希望对大家有所帮助。

    一、先说下顶级菜单的调用吧

    该类栏目的dedecms调用方法比较简单,如下:

    {dede:channel type='top' currentstyle="~typename~ "}

    • [field:typename/]
    • {/dede:channel}

      注释(参数): typeid='0' 栏目ID; reid = '0' 上级栏目ID; row = '100' 调用栏目数; col = '1' 分多少列显示(默认为单列);type = 'son | sun' son表示下级栏目,self表示同级栏目,top顶级栏目; currentstyle = '' 应用样式"。

      这种方法会把后台的顶级栏目都调用出来,如果想有些栏目不被调用出来,可以加上参数typeid=‘所要调用栏目的id’。对于调用指定的栏目可以用下面的标签:

    {dede:type typeid=指定栏目的id}[field:typename /]{/dede:type}

    二、 带有二级子栏目的栏目的调用,这类网站用于信息分类比较多的网站,其样式图如下:

      这种栏目是比较常见的,其dedecms调用代码如下:

    {dede:channelartlist typeid='1,2,3,6,7,10,8,11' row='10'}    //typeid=顶级栏目的id

      {dede:field name='typename'/}

         {dede:channel type='son' noself='yes'}

        [field:typename/]

     {/dede:channel}

      {/dede:channelartlist}

      对于没有子栏目的顶级栏目可以使用调用指定栏目的标签:

    {dede:type typeid=指定栏目的id}

    • [field:typename /]
    • {/dede:type}

      这样可以实现上述栏目的调用。

    三、有三级子栏目的调用代码,这类导航适用于商城等,其样式图如下:

      对于这种栏目的调用代码如下:


    •  

                       {dede:type typeid='2'}[field:typename/]{/dede:type}  //顶级栏目的调用

                       {dede:channelartlist typeid='top'  typeid='2'}   //二级栏目和三级栏目的调用这里typeid='子栏目所属的顶级栏目的id'                  

    • {dede:field name='typename'/}                                 
      •                                 {dede:sql sql='Select * from dede_arctype where reid=~id~  ORDER BY id limit 0,20'}  //limit 起始三级栏目id  显示栏目的条数

                                        

      • [field:typename/] 
      •                                 {/dede:sql} 

    •                   {/dede:channelartlist}

    一般网站最多也只有三级栏目,在大家实际应用的实用只需要把代码复制进去,调用相对应的参数即可。好了,今天的分享就到这里。博主还有很多好的资源等待与您的见面。希望大家继续关注张路博客文摘,莱蒂斯俺的箭头们,下期再见~~

    完整实例:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>index</title>
    <link href="{dede:global.cfg_templets_skin/}/images/css.css" rel="stylesheet" type="text/css" />
    </head>

    <body>
    <li>
           {dede:type typeid='53'}<a href='[field:typelink/]' class="depth_1">顶级[field:typename/]</a>{/dede:type}
           <ul class="children" style="display:block; ">

                     {dede:channelartlist typeid='top'  typeid='53'}

                       <li><h3 ><a href='{dede:field name='typeurl'/}' class="depth_2"><span class="icon10"></span>二级{dede:field name='typename'/}</a></h3>                  <ul>
                              {dede:sql sql='Select * from dede_arctype where reid=~id~  ORDER BY id limit 00,20'}
                              <li><a href="[field:typedir function='str_replace("{cmspath}","",@me)'/]"  class="depth_3">三级[field:typename/]</a></li>
                              {/dede:sql}
                             </ul>
                       </li>
                      {/dede:channelartlist}
                      </ul>               
    </li>
    </body>
    </html>

  • 相关阅读:
    java的异常
    Quartz使用总结
    MYSQL性能优化的最佳20+条经验
    索引原理和慢查询优化
    MySQL索引背后的数据结构及算法原理
    常见电商项目的数据库表设计(MySQL版)
    常见试题和算法
    mysql性能调优与架构设计笔记
    MYSQL数据库设计规范与原则
    复合索引的优点和注意事项
  • 原文地址:https://www.cnblogs.com/jiechn/p/4564192.html
Copyright © 2020-2023  润新知