织梦CMS怎么调用所有栏目?
在织梦CMS中调用所有栏目(包括顶级栏目和各级子栏目)有多种实现方式,适用于网站地图、栏目总览等场景。
一、使用channel调用所有栏目
{dede:channel row='200' type='top'}
<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}
设置足够大的row值(如200)确保覆盖所有栏目。
二、用SQL直接查询所有栏目
{dede:sql sql="SELECT * FROM dede_arctype ORDER BY reid,sortrank"}
<li><a href="[field:typedir/]">[field:typename/]</a></li>
{/dede:sql}
三、调用所有栏目的树形结构
{dede:channel row='500'}
<li style="padding-left:[field:ID runphp='yes']@me=getDeep(@me)*20;[/field:ID]px">
<a href="[field:typelink/]">[field:typename/]</a>
</li>
{/dede:channel}
四、带缩进显示(网站地图样式)
{dede:channelartlist row='100' typeid='top'}
<h3>{dede:field name='typename'/}</h3>
{dede:channel type='son' noself='yes'}
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
{/dede:channelartlist}
五、获取栏目总数
{dede:sql sql="SELECT COUNT(*) as total FROM dede_arctype"}
共[field:total/]个栏目
{/dede:sql}
提示:调用所有栏目时注意设置足够大的row值。如果栏目数量超过100个,建议使用SQL方式直接查询,避免使用嵌套标签影响性能。