易优CMS:channel的基础用法
channel的用法你们知道吗?赶紧来学习吧!优秀欢一直在这里!
[基础用法]
名称:channel
功能:易优常用标记,可以循环嵌套标签。通常用于网站导航以获取站点栏目信息,方便网站会员分类浏览整站信息
语法:
{eyou:channel type=\’top\’ row=\’8\’ currentstyle=\’active\’}
<li class=”{$field.currentstyle}”><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条记录)
titlelen=\’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 class=”{$field.currentstyle}” href=”{$field.typeurl}”>{$field.typename}</a> </li>
{/eyou:channel}
网站前端显示效果(css样式请自行填充)
2.当前栏目下子栏目调用
模板调用代码
{eyou:channel row=”6″ type =\’son\’ currentstyle=”on”}
<li class=”{$field.currentstyle}”><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}” class=”{$field.currentstyle}”>{$field.typename}</a>
{/eyou:channel}
——————————-示例2——————————–
描述:输出二个层级栏目(这里用到channel标签层次嵌套,注意属性id | name的用法)
{eyou:channel type=\’top\’ row=\’10\’ id=\’field1\’ currentstyle=\’active\’} // 第一级栏目循环开始
<li>
<a href=”{$field1.typeurl}” title=”{$field1.typename}” class=”{$field1.currentstyle}”>
{$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}” class=”dropdown-item “>{$field2.typename}</a>
{/eyou:channel} // 第二级栏目循环结束
</div>
{/eyou:notempty}
</li>
{/eyou:channel} // 第一级栏目循环结束
——————————-示例3——————————–
描述:输出复杂的三个层级栏目(这里用到channel标签层次嵌套,注意属性id | name的用法)
{eyou:channel type=\’top\’ row=\’10\’ id=\’field1\’ currentstyle=\’active\’} // 第一级栏目循环开始
<li>
<a href=”{$field1.typeurl}” title=”{$field1.typename}” class=”{$field1.currentstyle}”>
{$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}” class=”dropdown-item “>{$field2.typename}</a>
{eyou:notempty name=\’$field2.children\’} // 判断是否有子栏目(第三级栏目)start
<div class=”dropdown-menu animate”>
{eyou:channel name=\’$field2.children\’ id=\’field3\’ row=\’10\’} //第三级栏目循环开始
<a href=”{$field3.typeurl}” class=”dropdown-item “>{$field3.typename}</a>
{/eyou:channel} //第三级栏目循环结束
</div>
{/eyou:notempty} // 判断是否有子栏目(第三级栏目)end
</div>
{/eyou:channel} // 第二级栏目循环结束
</div>
{/eyou:notempty} // 判断是否有子栏目(第二级栏目)end
</li>
{/eyou:channel} //第一级栏目循环结束
更多案例:https://www.eyoucms.com/plus/list.php?tid=66
文章来源:https://www.eyoucms.com/zanzanEY/
版权声明:本文为wanghuan5258原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。