channel的基础用法

2024-05-26

  [基础用法]

  名称:channel

  功能:易优常用标记,可以循环嵌套tag标签。通常用于网站站点导航以获得网站站点分类栏目信息,方便网站站点会员分类查看浏览整站信息

  语法:

  {eyou:channel type='top' row='8' currentstyle='active'}

  <li><a href='{$field.typeurl}'>{$field.typename}</a> </li>

  {/eyou:channel}

  参数:

  typeid='' 分类栏目ID,多个请用","分开

  row='10' 返回文档列表总数(建议不要与limit属性同时存在,否则row无效)

  limit='起始ID,记录数' (起始ID从0开始)表示限定的记录范围(如:limit='1,2' 表示从ID为1的记录开始,取2条记录)

  title标题len='30' 分类栏目名称长度

  type='son' 表示下级分类栏目

type='self' 表示同级分类栏目 type='top' 表示顶级分类栏目 type='sonself' 表示当前下级分类栏目以及同级分类栏目 type='first' 表示当前分类栏目ID的最顶级分类栏目下的所有层级分类栏目集合

  currentstyle='' 应用样式class类名

  offset=‘0’ 记录的起始ID,默认从0开始,假如指定2,将过滤最前面的2条,从第三条显示

  name='' 数组分类类型的变量名(三级导航时才用到)

  empty='' 没有数值数据时显示的文案

  mod='' 每隔N行输出的信息内容

  id='' 可以任意指定循环里的变量名替代field,假设id='field1',网站模版调用如:{$field.title标题} 变成 {$field1.title标题}

  底层字段:

  请查阅易优Cms官方供应提供的数值数据字典,找到表名 ey_arctype

  (注:在没有指定typeid的情况下,type标记与网站模版的环境有关,如:网站模版生成到分类栏目一,那么type='son'就表示分类栏目一的所有子分类栏目)

  -------------------------------结果效果展现展示--------------------------------

  1,调用顶级分类栏目导航

  网站模版调用代码

  {eyou:channel type="top" row="8" id="field" currentstyle="on"}

  <li> <a href="{$field.typeurl}">{$field.typename}</a> </li>

  {/eyou:channel}

  网站站点前端显示结果效果(css样式请自行填充)

  2.当前分类栏目下子分类栏目调用

  网站模版调用代码

  {eyou:channel row="6" type ='son' currentstyle="on"}

  <li><a href="{$field.typeurl}" >{$field.typename}</a> </li>

  {/eyou:channel}

  网站站点前端显示结果效果(css样式请自行填充)

  【更多示例】

  -------------------------------示例1--------------------------------

  描述:输出最顶级分类栏目,不包括包含子孙分类栏目,可用于网站站点简单的顶部导航

  {eyou:channel type="top" row="10" currentstyle="active"}

  <a href="{$field.typeurl}" title标题="{$field.typename}">{$field.typename}</a>

  {/eyou:channel}

  -------------------------------示例2--------------------------------

  描述:输出二个层级分类栏目(这里用到channeltag标签层次嵌套,注意属性id | name的用法)

  {eyou:channel type='top' row='10' id='field1' currentstyle='active'} // 第一级分类栏目循环开始

  <li>

<a href="{$field1.typeurl}" title标题="{$field1.typename}"> {$field1.typename} {eyou:notempty name='$field1.children'} // 判断是不是是否有子分类栏目(该示例指的是第二级分类栏目) 有子分类栏目时才显示这里的html代码,例如:箭头、图标等 {/eyou:notempty} </a> {eyou:notempty name='$field1.children'} // 判断是不是是否有子分类栏目(该示例指的是第二级分类栏目) <div> {eyou:channel name='$field1.children' id='field2' row='10'} // 第二级分类栏目循环开始 <a href="{$field2.typeurl}">{$field2.typename}</a> {/eyou:channel} // 第二级分类栏目循环结束 </div> {/eyou:notempty}

  </li>

  {/eyou:channel} // 第一级分类栏目循环结束

  -------------------------------示例3--------------------------------

  描述:输出复杂的三个层级分类栏目(这里用到channeltag标签层次嵌套,注意属性id | name的用法)

  {eyou:channel type='top' row='10' id='field1' currentstyle='active'} // 第一级分类栏目循环开始

  <li>

<a href="{$field1.typeurl}" title标题="{$field1.typename}"> {$field1.typename} {eyou:notempty name='$field1.children'} 有子分类栏目时才显示这里的html代码,例如:箭头、图标等 {/eyou:notempty} </a> {eyou:notempty name='$field1.children'} // 判断是不是是否有子分类栏目(第二级分类栏目)start <div> {eyou:channel name='$field1.children' id='field2' row='10'} //第二级分类栏目循环开始 <div> <a href="{$field2.typeurl}">{$field2.typename}</a> {eyou:notempty name='$field2.children'} // 判断是不是是否有子分类栏目(第三级分类栏目)start <div> {eyou:channel name='$field2.children' id='field3' row='10'} //第三级分类栏目循环开始 <a href="{$field3.typeurl}">{$field3.typename}</a> {/eyou:channel} //第三级分类栏目循环结束 </div> {/eyou:notempty} // 判断是不是是否有子分类栏目(第三级分类栏目)end </div> {/eyou:channel} // 第二级分类栏目循环结束 </div> {/eyou:notempty} // 判断是不是是否有子分类栏目(第二级分类栏目)end

  </li>

  {/eyou:channel} //第一级分类栏目循环结束

  -------------------------------示例4--------------------------------

  描述:每隔3条输出文档记录

  {eyou:channel typeid='文档ID' row='10' mod='3'}

  {eyou:eq name='mod' value='0'}

  <a href='{$field.typeurl}'>{$field.typename}</a>

  {/eyou:eq}

  {/eyou:channel}

  -------------------------------示例5--------------------------------

  描述:mod属性还用于控制一定记录的换行,每3条记录换行一次

  {eyou:channel typeid='文档ID' row='10' mod='3'}

  <a href='{$field.typeurl}'>{$field.typename}</a>

  {eyou:eq name='mod' value='0'}

  <br/>

  {/eyou:eq}

  {/eyou:channel}

  -------------------------------示例6--------------------------------

  描述:输出指定起始ID的记录,过滤最前面2条,从第三条开始输出

  {eyou:channel typeid='分类栏目ID' type='son' offset='2'}

  <a href='{$field.typeurl}'>{$field.typename}</a>

  {/eyou:channel}

  -------------------------------示例7--------------------------------

  描述:内置变量输出数值数据索引与记录顺序,key 表示索引,默认从0开始;i 表示顺序,默认从1开始。

  {eyou:channel type='top'}

  {$key} - {$i}

  {/eyou:channel}

  结果效果:

  0 - 1

  1 - 2

  2 - 3

  3 - 4

  4 - 5

  -------------------------------示例8--------------------------------

  描述:自定义变量名

  {eyou:channel type='top' id='field2'}

  <a href='{$field2.typeurl}'>{$field2.typename}</a>

  {/eyou:channel}

  信息文章来源:/doc/label/

转载自: channel的基础用法