站长学院
织梦dedeCMS调用二级子栏目或者循环调用多级栏目在网站制作过程中经常都会遇到。今天博主以DEDECMS v5.6版本调用代码作为示范,调用顶级栏目及其下的所有子栏目的代码。进入正题:
{dede:channelartlist typeid='3,3'}
<a href="{dede:field name='typeurl'/}">{dede:field
name='typename'/}</a>
<hr>
{dede:channel type='son' noself='yes'}
<a href="[field:typelink/]">[field:typename/]</a><br />
{/dede:channel}
{/dede:channelartlist}
如 果是已经熟悉了dedecms代码朋友我想已经能看懂是什么意思了,但是还是解释一下。{dede:channelartlist
typeid='3,3'} typeid为3的顶级栏目
如果你的顶级栏目为其他,则相应的改之。如果是循环调用很多个顶级目录和子目录怎么办呢?请往下看:
{dede:channelartlist
typeid='3,6‘}
<a href="{dede:field
name='typeurl'/}">{dede:field
name='typename'/}</a>
<hr>
{dede:channel type='son' noself='yes'}
<a href="[field:typelink/]">[field:typename/]</a><br />
{/dede:channel}
{/dede:channelartlist}
请看红色部分,意思是调用顶级栏目为3,4,5,6,的顶级栏目了。简单吧!如果有疑问,直接复制代码到模板去不断测试就知道其原理了。
也测试过这两种方式,不过不尽其意:
1:
下面是官方的解释:
【Channel 标记】
功能说明:用于获取栏目列表
适用范围:封面模板、列表模板、文档模板
(1)基本语法
{dede:channel row='' type=''}
自定义样式模板(InnerText)
{/dede:channel}
(2)属性
[1] row='数字' 表示获取记录的条数(通用在某级栏目太多的时候使用,默认是 8)
[2] type = top,sun/son,self
type='top' 表示顶级栏目
type='son' 或 'sun' 表示下级栏目
type='self' 表示同级栏目
其中后两个属性必须在列表模板中使用。
(3)底层模板变量
ID,typename,typedir,typelink(仅表示栏目的网址)
例:
{dede:channel type='top'}
<a href='[field:typelink
/]'>[field:typename/]</a>
{/dede:channel}
注:在没有指定typeid的情况下,type标记与模板的环境有关,如,模板生成到栏目一,那么type='son'就表示栏目一的所有子类
2:
DEDE商品分类三级如何用递归调用?
目前用了这个,