DEDECMS 模板中心

您现在的位置:主页 > 织梦大学 > 站长手记 >

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

来源:未知 编辑:admin 发布时间:2020-03-12热度:
调用三级四级无限级栏目效果图 第一种自定义函数递归法 适用于前端简单样式用户,在include/extend.func.php最下面添加 01 /** 02 * 取出所有分类 03 * @param int $channel 频道ID 04 * @return string...

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

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

第一种自定义函数递归法

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

01 /**
02     * 取出所有分类
03     * @param     int   $channel  频道ID
04     * @return    string  www.sykeji.com
05     * 调用{dede:global.getalltype function='getalltype()'/}
06     */
07   
08     function getalltype($channel=0,$line=10)
09     {
10              $line empty($line) ? 10 : $line;
11              global $dsql,$result;
12              
13              $dsql->SetQuery("SELECT id,typename,typenamedir,typelitpic,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
14                 FROM `dede_arctype` WHERE reid='$channel' And ishidden<>1 order by sortrank asc limit 0,$line ");
15              $dsql->Execute($channel);
16              if($dsql->GetTotalRow($channel)>0)
17              {
18                        $result .= "<ul>
19 ";
20                        while($row $dsql->GetArray($channel))
21                        {
22                                 $id $row['id'];
23                                 $typename $row['typename'];
24                                 $typelink = GetOneTypeUrlA($row);
25   
26                                 $result .= "       <li>
27 ";
28                                 $result .= "                <a href='{$typelink}' target='_blank'>{$typename}</a>
29 ";
30                                 getalltype($id,$line);
31                                 $result .= "       </li>
32 ";
33                        }
34             $result .= "</ul>
35 ";
36              }
37              return $result;
38     }

前台模板调用标签

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

 

第二种标签嵌套法

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

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


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

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

DedeCMS问题解决

请点击在线联系我们【点击咨询解决问题】   如果您有任何织梦问题,我们将免费为您写解决教程!

用心认真写教程不易,请小打赏我们一下,多少是心意,解决问题是重点

【打赏说明】 如果您认为在本站中看的内容质量不错、或阅读后有所收获、或解决您遇到的实际问题,那不妨小金额的赞助一下尚禹科技,让尚禹科技有动力继续写出更多高质量的教程和心得。以帮助更多的人。[查看打赏记录]

    尚禹科技:承接仿站业务,价格200元起!

    上一篇:织梦后台上传mp4视频不显示

    下一篇:没有了