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

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
/**
*取出所有分类
*@paramint$channel频道ID
*@returnstringwww.dede58.com织梦模板下载
*调用{dede:global.getalltypefunction='getalltype()'/}
*/
functiongetalltype($channel=0,$line=10)
{
$line=empty($line)?10:$line;
global$dsql,$result;
$dsql->SetQuery("SELECTid,typename,typenamedir,typelitpic,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM`dede_arctype`WHEREreid='$channel'Andishidden<>1orderbysortrankasclimit0,$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.="<ahref='{$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:channelartlistrow=7typeid=top}
<!--顶级-->
<li>
<ahref="{dede:field.typeurl/}">{dede:fieldname='typename'/}</a>
<ul>
{dede:channeltype=sonnoself=yes}
<!--二级-->
<li>
<ahref="[field:typeurl/]"title="[field:typename/]">[field:typename/]</a>
<ul>
<!--三级-->
[field:idrunphp=yes]
global$dsql;
$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathFROM`dede_arctype`
WHEREreid=@meAndishidden<>1orderbysortrankasclimit0,10";
$dsql->SetQuery($sql);
$dsql->Execute('t');
$result='';
while($row=$dsql->GetArray('t'))
{
$typename=$row['typename'];
$typeurl=GetOneTypeUrlA($row);
$result.=<<<TPL
<li><ahref="{$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:idrunphp=yes]
global$dsql;
$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathFROM`dede_arctype`
WHEREreid=@meAndishidden<>1orderbysortrankasclimit0,10";
$dsql->SetQuery($sql);
$dsql->Execute('t');
$result='';
while($row=$dsql->GetArray('t'))
{
$row['typeurl']=GetOneTypeUrlA($row);
$result.="<ahref='{$row[typeurl]}'>{$row[typename]}</a>";
//四级
$nsql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM`dede_arctype`WHEREreid=$row[id]Andishidden<>1orderbysortrankasclimit0,10";
$dsql->SetQuery($nsql);
$dsql->Execute('n');
while($nrow=$dsql->GetArray('n'))
{
$nrow['typeurl']=GetOneTypeUrlA($nrow);
$result.="<ahref='{$nrow[typeurl]}'>{$nrow[typename]}</a>";
}
}
@me=$result;
[/field:id]

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。