dedecms织梦调用三级四级无限级栏目教程

2022-08-18

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

dedecms织梦调用三级四级无限级栏目教程


第一种自定义函数递归法
适用于前端简单样式用户,在 include/extend.func.php 最下面添加   
  /**
    * 取出所有分类
    * @param     int   $channel  频道ID
    * @return    string  www.80zhan.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 .= "

    \r\n";
                           while($row = $dsql->GetArray($channel))
                           {
                                    $id = $row['id'];
                                    $typename = $row['typename'];
                                    $typelink = GetOneTypeUrlA($row);
     
                                    $result .= "      
  • \r\n";
                                    $result .= "                {$typename}\r\n";
                                    getalltype($id,$line);
                                    $result .= "      
  • \r\n";
                           }
                $result .= "
\r\n";
             }
             return $result;
    }
前台模板调用标签
{dede:global.getalltype function='getalltype()'/}
第二种标签嵌套法
适用于只调用出一级、二级、三级、四级的用户,直接在模板里写   

                 {dede:channelartlist row=7 typeid=top}
                
                

  •                        {dede:field name='typename'/}
                          

                             {dede:channel type=son noself=yes}
                            
                            

    •                        [field:typename/]
                            

           
            [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
           
      • {$typename}

      •     TPL;
            }
            @me = $result;
            [/field:id]
                              

                            

    •                        {/dede:channel}
                            

                
  •   
                 {/dede:channelartlist}
       

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

    [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 .= "{$row[typename]}";
             //四级
             $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 .= "{$nrow[typename]}";
             }
    }
    @me = $result;
    [/field:id]
 

非凡技术导航 优秀网址导航免费网站收录 网站地图

本站收录的网站若侵害到您的利益,请联系我们删除处理

Copyright ©2020 Guojiz V 5.5All Rights Reserved.

备案号 )| 452133545|