今天一用户问道如何读取三级栏目,因为我们的网站项目通常只用到二级就足够了,然后之前也就没有写出读取三级及更多级的文档,然后接受意见,单独拿出这个问题写了这一篇文章,正文如下:
在首页中,读取栏目分类的三级分类
<ul> {zz:channel type="root" } {zz:channel type="son" typeid="$field['id']" void="vo"} {zz:channel type="son" typeid="$vo['id']" void="item"} <li> <a href="{$item['url']}">{$item['title']}</a> </li> {/zz:channel} {/zz:channel} {/zz:channel} </ul>
代码分解:
type="root" 是指定读取某一栏目的根分类,即最顶级栏目。这里我们没有指定typeid属性的值,是因为系统会默认根据当前页面的栏目id,显示其顶级栏目。此设计,可以满足不同页面,显示的栏目分类不同。当然如果你打算固定显示某一分类下的子栏目,指定其typeid属性即可!
type="son" 是指定读取某一栏目分类下的下级栏目。
typeid="$field['id']" 是最顶级栏目的栏目id,用来读取该顶级id下的子级栏目分类。
void="vo" 是指定了数据项的别名。因为这里用了标签嵌套,为了区别顶级栏目和子级栏目,所以用到了数据项别名。
$vo['url'] 是字段,显示该栏目分类的链接地址。
$vo['title'] 是字段,显示该栏目分类的标题。
注意:typeid属性与void属性,其中void属性'vo'、'item' 均为自定义别名。
同理四级分类,乃至多及分类,嵌套channel标签即可。