专业的织梦dedecms仿站建站技术资讯网站!- 【46仿站网】
weiseo
您的位置: 主页 > 织梦教程 > 织梦高级教程 >

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

文章来源:未知 阅读: 发表时间:2021-06-09
最近很多朋友都在咨询小编dedecms织梦调用三级四级无限级栏目教程的相关问题,其实这些问题不是很难解答,有可能是大家平时没有怎么留意,所以才会不知道,不过不要紧,今天小编就给大家详细的分享一下具体的{keyword2}相关操作,由衷希望能够帮助到大家哦。

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

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.ay46.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]

以上就是关于dedecms织梦调用三级四级无限级栏目教程的具体介绍了,若是大家还想要了解{keyword2}的话,可以直接关注小编不断推出的新文章,因为这些信息会及时的更新给大家看的哦,同时也希望大家可以多多的支持和关注46仿站网,更多信息都会在上面更新的哈。

如果你觉得本文对你有帮助就点个赞吧!

没有解决?点击这里呼叫大神来帮忙(付费)!

  • 最新
  • 热门
  • 随便看看