是的,
织梦(DedeCMS)可以使用
channelartlist
标签进行循环子栏目。
在织梦(DedeCMS)系统中,可以使用channelartlist
标签进行循环子栏目及其栏目的文档数据,这是 DedeCMS 系统中唯一一个支持标签嵌套的调用标签,以下是一些关于如何使用channelartlist
标签的基本用法和参数介绍:
1、基本用法:
2、参数简介:
typeid='0'
:限制上级栏目ID;也可以用top
,支持“,”表示多个栏目。
row='20'
:循环的栏目数量,默认为20。
cacheid = ''
:标签缓存ID,一般为空。
需要注意的是,如果你只是将上述代码原封不动地复制粘贴到终极栏目页或内容页,是不会出现任何调用结果的,因为在标签channelartlist
中,当typeid
为空,则表示当前栏目,但是终极栏目列表和内容页是没有下级栏目的,所以就会出错!
3、调用实例:
在终极列表页或内容页,正确的调用方法应该是以下的:
{dede:channelartlist typeid='top'}
这里是typeid='top'
,这个top
值可以换为你想要的上级栏目ID,但绝对是不可以为空的,这个大家一定要注意!
4、栏目高亮、特效调用:
在该标签下,可以直接分别用{dede:field name='typename'/}
与{dede:field name='typeurl'/}
来表示栏目名称与栏目链接的,当然还有一些其它特殊的变量,这里也介绍一下,如:
{dede:field name='id'/}
与{dede:field name='typeid'/}
均表示循环中的栏目ID。
{dede:global name='itemindex'}
表示循环递增变量,从1开始。
{dede:global name='itemparity'}
表示循环魔法变量,单数为1,双数为2。
5、实现栏目高亮:
在channelartlist.lib.php
并没有自带,但通过以下DIY可实现让当前栏目进行高亮,方法(以 DedeCMS 5.6为例):
打开channelartlist.lib.php
文件,找到如下代码:
$pv>Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
在其下一行加入以下代码:
if($typeids[$i]['id'] == $refObj>TypeLink>TypeInfos['id']){
$pv>Fields['currentstyle'] = ' id="pic_focus"';
}else{
$pv>Fields['currentstyle'] = '';
}
就可以在模板中进行使用{dede:field name='currentstyle'/}
进行调用了。
相关问答FAQs
问题一:如何在织梦(DedeCMS)中使用channelartlist
标签循环子栏目?
答:在织梦(DedeCMS)系统中,可以使用channelartlist
标签进行循环子栏目及其栏目的文档数据,这是 DedeCMS 系统中唯一一个支持标签嵌套的调用标签,基本用法如下:
需要注意的是,如果你只是将上述代码原封不动地复制粘贴到终极栏目页或内容页,是不会出现任何调用结果的,因为在标签channelartlist
中,当typeid
为空,则表示当前栏目,但是终极栏目列表和内容页是没有下级栏目的,所以就会出错!
问题二:如何在织梦(DedeCMS)中实现栏目高亮?
答:在channelartlist.lib.php
并没有自带栏目高亮的功能,但可以通过以下DIY实现让当前栏目进行高亮,方法(以 DedeCMS 5.6为例):
打开channelartlist.lib.php
文件,找到如下代码:
$pv>Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
在其下一行加入以下代码:
if($typeids[$i]['id'] == $refObj>TypeLink>TypeInfos['id']){
$pv>Fields['currentstyle'] = ' id="pic_focus"';
}else{
$pv>Fields['currentstyle'] = '';
}
就可以在模板中进行使用{dede:field name='currentstyle'/}
进行调用了。
子栏目名称 |
子栏目链接 |
子栏目描述 |
子栏目一 |
/category1/ |
这是子栏目一的描述信息,提供有关内容的概述。 |
子栏目二 |
/category2/ |
这是子栏目二的描述信息,提供有关内容的概述。 |
子栏目三 |
/category3/ |
这是子栏目三的描述信息,提供有关内容的概述。 |
子栏目四 |
/category4/ |
这是子栏目四的描述信息,提供有关内容的概述。 |
子栏目五 |
/category5/ |
这是子栏目五的描述信息,提供有关内容的概述。 |
使用 channelartlist 标签循环子栏目示例:
子栏目一
/category1/
这是子栏目一的描述信息,提供有关内容的概述。
子栏目二
/category2/
这是子栏目二的描述信息,提供有关内容的概述。
子栏目三
/category3/
这是子栏目三的描述信息,提供有关内容的概述。
子栏目四
/category4/
这是子栏目四的描述信息,提供有关内容的概述。
子栏目五
/category5/
这是子栏目五的描述信息,提供有关内容的概述。
在上述示例中,channelartlist
标签用于循环显示所有子栏目,每个channelart
标签代表一个子栏目,包含标题、链接和描述。