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

    dedecms织梦调用三级四级无限级栏目教程
    POST TIME:2021-05-23 02:52

    调用三级四级无限级栏目效果图

    第一种自定义函数递归法

    适用于前端简单样式用户,在 include/extend.func.php 最下面添加

      

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
      /**
        * 取出所有分类
        * @param     int   $channel  频道ID
        * @return    string  www.dede58.com织梦模板下载
        * 调用{dede:global.getalltype function='getalltype()'/}
        */
      
        function getalltype($channel=0,$line=10)
        {
                 $line = empty($line) ? 10 : $line;
                 global $dsql,$result;
                 
                 $dsql->SetQuery("SELECT id,typename,typenamedir,typelitpic,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
                    FROM `dede_arctype` WHERE reid='$channel' And ishidden<>1 order by sortrank asc limit 0, $line ");
                 $dsql->Execute($channel);
                 if($dsql->GetTotalRow($channel)>0)
                 {
                           $result .= "<ul>\r\n";
                           while($row = $dsql->GetArray($channel))
                           {
                                    $id = $row['id'];
                                    $typename = $row['typename'];
                                    $typelink = GetOneTypeUrlA($row);
      
                                    $result .= "       <li>\r\n";
                                    $result .= "                <a href='{$typelink}' target='_blank'>{$typename}</a>\r\n";
                                    getalltype($id,$line);
                                    $result .= "       </li>\r\n";
                           }
                $result .= "</ul>\r\n";
                 }
                 return $result;
        }

     

    前台模板调用标签

    {dede:global.getalltype function='getalltype()'/}

     

    第二种标签嵌套法

    适用于只调用出一级、二级、三级、四级的用户,直接在模板里写

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <ul>
                 {dede:channelartlist row=7 typeid=top}
                 <!-- 顶级 -->
                 <li>
                           <a href="{dede:field.typeurl/}" >{dede:field name='typename'/}</a>
                           <ul>
                           {dede:channel type=son noself=yes}
                           <!-- 二级 -->
                           <li>
                           <a href="[field:typeurl/]"  title="[field:typename/]">[field:typename/]</a>
                           <ul>
        <!-- 三级 -->
        [field:id runphp=yes]
        global $dsql;
        $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` 
        WHERE reid=@me And ishidden<>1 order by sortrank asc limit 0,10";
        $dsql->SetQuery($sql);
        $dsql->Execute('t');
        $result = '';
        while($row = $dsql->GetArray('t'))
        {
            $typename = $row['typename'];
            $typeurl = GetOneTypeUrlA($row);
        $result .= <<< TPL
        <li><a href="{$typeurl}">{$typename}</a></li>
        TPL;
        }
        @me = $result;
        [/field:id]
                           </ul>
                           </li>
                           {/dede:channel}
                           </ul>
                 </li>   
                 {/dede:channelartlist}
        </ul>

     

    上面的是输出到三级栏目,如果需要四级栏目可以这样写

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <!-- 三级/四级 -->
        [field:id runphp=yes]
        global $dsql;
        $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` 
        WHERE reid=@me And ishidden<>1 order by sortrank asc limit 0,10";
        $dsql->SetQuery($sql);
        $dsql->Execute('t');
        $result = '';
        while($row = $dsql->GetArray('t'))
        {
            $row['typeurl'] = GetOneTypeUrlA($row);
                 $result .= "<a href='{$row[typeurl]}'>{$row[typename]}</a>";
                 //四级
                 $nsql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 
                 FROM `dede_arctype` WHERE reid=$row[id] And ishidden<>1 order by sortrank asc limit 0,10";
                 $dsql->SetQuery($nsql);
                 $dsql->Execute('n');
                 while($nrow = $dsql->GetArray('n'))
                 {
                           $nrow['typeurl'] = GetOneTypeUrlA($nrow);
                           $result .= "<a href='{$nrow[typeurl]}'>{$nrow[typename]}</a>";
                 }
        }
        @me = $result;
        [/field:id]

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

    截屏,微信识别二维码

    微信号:veteran88

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

     打开微信

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