织梦cms调用子栏目

织梦CMS调用子栏目的各种方法

在织梦CMS中调用子栏目是最常见的模板开发需求。系统提供了多种方式来获取父栏目下的子栏目列表。

一、使用channel标签调用子栏目

调用当前栏目的子栏目

{dede:channel type='son' row='10'}
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}

在列表模板中使用,不指定typeid则自动获取当前栏目的子栏目。

调用指定栏目的子栏目

{dede:channel type='son' typeid='3' row='10'}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}

二、调用所有下级栏目(含多级)

{dede:channel type='sun' typeid='1' row='100'}
[field:id/] - [field:typename/]
{/dede:channel}

type='sun'获取指定栏目下的所有后代栏目(不限层级)。

三、嵌套调用子栏目(树形结构)

{dede:channel type='top' row='10'}
<li>
<a href="[field:typelink/]">[field:typename/]</a>
{dede:channel type='son' noself='yes'}
<ul>
<li><a href="[field:typelink/]">[field:typename/]</a></li>
</ul>
{/dede:channel}
</li>
{/dede:channel}

内层channel的nosef='yes'参数排除自身。

四、调用子栏目及其文章

{dede:channelartlist typeid='2'}
<div>
<h3>{dede:field name='typename'/}</h3>
{dede:arclist row='3'}
<li>[field:title/]</li>
{/dede:arclist}
</div>
{/dede:channelartlist}

五、用SQL取子栏目

{dede:sql sql="SELECT * FROM dede_arctype WHERE reid=3 ORDER BY sortrank"}
<a href="[field:typedir/]">[field:typename/]</a>
{/dede:sql}
提示:type='son'获取直接子栏目,type='sun'获取所有后代栏目。嵌套调用时注意性能,栏目层级不建议过深。