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.="<arel="nofollow noopener noreferrer" 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:channelartlistrow=7typeid=top}
<!--顶级-->
<li>
<arel="nofollow noopener noreferrer" href="{dede:field.typeurl/}">{dede:fieldname='typename'/}</a>
<ul>
{dede:channeltype=sonnoself=yes}
<!--二级-->
<li>
<arel="nofollow noopener noreferrer" href="[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><arel="nofollow noopener noreferrer" 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: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.="<arel="nofollow noopener noreferrer" href='{$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.="<arel="nofollow noopener noreferrer" href='{$nrow[typeurl]}'>{$nrow[typename]}</a>";
}
}
@me=$result;
[/field:id]

以上就是dedecms织梦调用三级四级无限级栏目好代码教程。我们不能总在等待机遇的到来,而是要去发现机遇,然后抓住机遇,把握机遇,才能耳闻到胜利的号角之声!更多关于dedecms织梦调用三级四级无限级栏目好代码教程请关注haodaima.com其它相关文章!

标签: 四级 dedecms