,{dede:channelartlist typeid='1' numclass='3'},[field:title/],{/dede:channelartlist},
“,,typeid属性用于指定要调用的栏目ID,numclass属性用于设置每行显示的文章数量。在上述示例中,将调用ID为1的栏目中的3篇文章,并以标签包裹标题输出。Dede织梦 {dede:channelartlist}标签栏目序号调用方法
DedeCMS(织梦内容管理系统)中,{dede:channelartlist}标签是一个非常强大的工具,用于在模板中调用栏目分类并排序,本文将详细讲解如何使用该标签实现栏目的序号调用,并提供相关FAQs以解答常见问题。
基本用法
1、基本语法:
{dede:channelartlist row='10'} <dl> <dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt> <dd> {dede:arclist titlelen='60' row='10'} <li><a href="[field:arcurl /]">[field:title /]</a></li> {/dede:arclist} </dd> </dl> {/dede:channelartlist}
2、参数说明:
row='10'
:表示每次循环显示的栏目数量,默认为20。
typeid=''
:指定要显示的栏目ID,可以用逗号分隔多个ID。
cacheid=''
:标签缓存ID,通常为空。
栏目序号调用方法
要在{dede:channelartlist}标签中实现栏目序号的调用,可以使用以下两种方法:
1、使用全局变量autoindex
:
{dede:channelartlist typeid='top' row='10'} [field:global runphp='yes' name=autoindex](@me==0)?@me=1:@me=@me+1;[/field:global] <dl> <dt><span class="serialnumber">[field:autoindex/]</span><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt> <dd> {dede:arclist titlelen='60' row='10'} <li><a href="[field:arcurl /]">[field:title /]</a></li> {/dede:arclist} </dd> </dl> {/dede:channelartlist}
2、使用全局变量itemindex
:
{dede:channelartlist typeid='top' row='10'} {dede:global.itemindex runphp='yes'}(@me==1)?@me='class="ztb_on"':@me='';[/field:itemindex] <dl> <dt><span class="serialnumber">[field:itemindex/]</span><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt> <dd> {dede:arclist titlelen='60' row='10'} <li><a href="[field:arcurl /]">[field:title /]</a></li> {/dede:arclist} </dd> </dl> {/dede:channelartlist}
表格对比
方法 | 代码示例 | 特点 |
autoindex | [field:global runphp=’yes’ name=autoindex](@me==0)?@me=1:@me=@me+1;[/field:global] | 从1开始计数 |
itemindex | {dede:global.itemindex runphp=’yes’}(@me==1)?@me=’class=”ztb_on”‘:@me=”;[/field:itemindex] | 可以自定义样式和初始值 |
FAQs
问题一:如何修改channelartlist标签使其按typeid顺序输出?
答:可以通过修改DedeCMS的核心文件来实现,打开include/taglib/channelartlist.lib.php
文件,找到大约在第78行的位置,将原来的查询语句:
$dsql>SetQuery("SELECT id,typeid");
修改为:
$dsql>SetQuery("SELECT id,typeid ORDER BY FIELD(id, ".$typeids.")");
这样就可以使{dede:channelartlist}标签按照指定的typeid顺序进行输出。
问题二:如何在首页以外的页面正确调用频道及其子栏目?
答:在非首页页面调用时,需要确保typeid参数不为空,在列表页或内容页调用时,可以使用如下代码:
{dede:channelartlist typeid='top'} <dl> <dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt> <dd> {dede:arclist titlelen='60' row='10'} <li><a href="[field:arcurl /]">[field:title /]</a></li> {/dede:arclist} </dd> </dl> {/dede:channelartlist}
如果只需要调用某些特定频道的内容,可以使用typeid
参数指定具体的频道ID,用逗号分隔即可。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1233355.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复