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

织梦技巧评论910 views阅读模式

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

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

第一种自定义函数递归法

适用于前端简单样式用户,在 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]

企鹅博客
  • 本文由 发表于 2019年9月20日 20:14:15
  • 转载请务必保留本文链接:https://www.qieseo.com/34060.html

发表评论