织梦cms调用栏目

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

在模板开发中调用栏目数据是织梦CMS最常见的开发需求。系统提供了多种标签和函数来实现不同场景的栏目调用。

一、channel标签调用方法汇总

type参数功能说明
top调用顶级栏目(reid=0)
son调用子栏目,需配合typeid指定父栏目
self调用同级栏目(兄弟栏目)
sun调用所有子栏目(含多级嵌套)

二、常用调用场景及代码

调用顶级导航

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

调用指定栏目的子栏目

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

调用所有栏目(树形结构)

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

三、在任意位置调用指定栏目信息

{dede:type typeid='5'}
<h3>[field:typename/]</h3>
<p>[field:description/]</p>
<a href="[field:typelink/]">查看更多</a>
{/dede:type}

四、调用栏目及其文章(channelartlist)

{dede:channelartlist row='4' typeid='top'}
<div>
<h2>{dede:field name='typename'/}</h2>
{dede:arclist row='5'}
<li>[field:title/]</li>
{/dede:arclist}
</div>
{/dede:channelartlist}

五、PHP方式调用栏目数据

如果标签无法满足需求,可以直接在模板中使用PHP代码调用:

{dede:php}
$dsql=new DedeSql(false);
$dsql->SetQuery("SELECT id,typename,typedir FROM dede_arctype WHERE reid=0 ORDER BY sortrank ASC LIMIT 10");
$dsql->Execute();
while($row=$dsql->GetArray()){
echo '<a href="'.$row['typedir'].'">'.$row['typename'].'</a>';
}
{/dede:php}
提示:调用栏目时建议加上缓存时间cacheid='xxx'参数,减少数据库查询次数,提高页面加载速度。