织梦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'参数,减少数据库查询次数,提高页面加载速度。