开发教程

读取栏目分类的三级分类及多级分类

今天一用户问道如何读取三级栏目,因为我们的网站项目通常只用到二级就足够了,然后之前也就没有写出读取三级及更多级的文档,然后接受意见,单独拿出这个问题写了这一篇文章,正文如下:

在首页中,读取栏目分类的三级分类

<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标签即可。