我的网站

文章教程
全部作品
网站模板
源码插件
文章教程
首页>呼啦教程>模板教程

[模板教程]HulaCWMS模板制作之channel标签

2019-12-07 570

channel标签是读取栏目分类的标签

在呼啦系统设计中,内容分为两个部分:一部分是文章,而另一部分便是栏目分类了。此两者关系是:栏目分类包含文章。简单来说,一个网站没有栏目分类也就没有文章了。


channel标签如何使用?

{zz:channel type="top"}
      <a href="{$field['url']}">{$field['title']}</a>
{/zz:channel}


如上所示,channel标签因为输出的是栏目分类,是数据列表,更是个循环。所以它是个闭合标签。闭合标签里包裹的便是html了。


HulaCWMS的标签都有两个元素,其一:属性;其二:字段。

属性是筛选器,它会决定哪些数据被输出,以怎样的顺序输出;字段是数据库字段,它对应着数据库中的真实数据。


channel标签有哪些属性?

  • type(筛选类型,属性值包括top、son、self)

  • typeid(栏目类型id)

  • row(要显示数据的条数)

  • void(数据项别名,一般使用变量field来读取字段信息。而你可以通过该变量定义为其他变量名)


具体说说channel标签的几种使用场景

1、如何显示网站导航?

<ul>
{zz:channel type="top"}
      <li>
            <a href="{$field['url']}">{$field['title']}</a>
      </li>
{/zz:channel}
</ul>


1.1 代码分解

  • type="top" 是指定读取顶级栏目分类,也就是栏目分类的pid=0的分类。

  • $field['url'] 是字段,显示该栏目分类的链接地址。

  • $field['title'] 是字段,显示该栏目分类的标题。


2、我的网站有二级导航,如何显示?

<ul>
{zz:channel type="top"}
      <li>
            <a href="{$field['url']}">{$field['title']}</a>
            <dl>
                  {zz:channel type="son" typeid="$field['id']" void="child"}
                        <dd>
                              <a href="{$child['url']}">{$child['title']}</a>
                        </dd>
                  {/zz:channel}
            </dl>
      </li>
{/zz:channel}
</ul>


2.1 代码分解

  • channel标签可以无限极嵌套

  • type="top" 是指定读取顶级栏目分类,也就是栏目分类的pid=0的分类。

  • type="son" 是指定读取某一栏目分类下的下级栏目。所以配合着type="son",你需要指定typeid属性值。

  • typeid="$field['id']" 是指定上级的id,用来读取该上级id下的下级栏目分类。typeid可以是数字,也可以是变量(正如上方代码一样)。

  • void="child" 是指定了数据项的别名。因为这里用了标签嵌套,为了区别顶级导航和二级导航,所以用到了数据项别名。

  • $field['url'] 是字段,显示该栏目分类的链接地址。

  • $field['title'] 是字段,显示该栏目分类的标题。


3、在列表页(article/lists)中,如何显示当前栏目的下级栏目分类?

<ul>
      {zz:channel type="son"}
            <li>
                  <a href="{$field['url']}">{$field['title']}</a>
            </li>
      {/zz:channel}
</ul>


3.1 代码分解

type="son" 是指定读取某一栏目分类下的下级栏目。这里我们没有指定typeid属性的值。系统默认会根据当前页面的栏目id,显示其下级栏目。此设计,可以满足不同页面,显示的栏目分类不同。当然如果你打算固定显示某一分类下的子栏目,指定其typeid属性即可!

$field['url'] 是字段,显示该栏目分类的链接地址。

$field['title'] 是字段,显示该栏目分类的标题。


4、如何显示当前栏目的同级栏目分类?

<ul>
      {zz:channel type="self"}
            <li>
                  <a href="{$field['url']}">{$field['title']}</a>
            </li>
      {/zz:channel}
</ul>


4.1 代码分解

  • type="self" 是指定读取某一栏目分类下的同级栏目。这里我们没有指定typeid属性的值。系统默认会根据当前页面的栏目id,显示其同级栏目。此设计,可以满足不同页面,显示的栏目分类不同。当然如果你打算固定显示某一分类下的同栏目,指定其typeid属性即可!

  • $field['url'] 是字段,显示该栏目分类的链接地址。

  • $field['title'] 是字段,显示该栏目分类的标题。


5、在首页中,我想读取某栏目下的下级栏目分类。但又不想全部读取出来,如何写?

<ul>
      {zz:channel type="son" typeid="84" row="8"}
            <li>
                  <a href="{$field['url']}">{$field['title']}</a>
            </li>
      {/zz:channel}
</ul>

5.1 代码分解

  • channel标签可以无限极嵌套

  • type="son" 是指定读取某一栏目分类下的下级栏目。所以配合着type="son",你需要指定typeid属性值。

  • typeid="84" 是指定上级的id,用来读取该上级id下的下级栏目分类。typeid可以是数字,也可以是变量。

  • $field['url'] 是字段,显示该栏目分类的链接地址。

  • $field['title'] 是字段,显示该栏目分类的标题。

  • row="8" 是指只读取8条数据



说明:typeid可以通过后来“栏目分类”中的栏目列表获得。


channel标签有哪些字段?

id

主键

title

标题

sort

排序

meta_title

seo的网页标题

keywords

关键词

description

描述

url

链接地址

create_time

创建时间

update_time

更新时间

icon

分类图标

以上便是channel标签的字段明细了,你可以在标签内通过$field来读取数据了。


嘿,我来帮您!