易优CMS: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/

原文地址:https://www.cnblogs.com/wanghuan5258/p/11887252.html

时间: 2024-08-28 12:59:31

易优CMS:channel的基础用法的相关文章

易优CMS:foreach的基础用法

[基础用法] 名称:foreach 功能:数据/记录循环输出标签(注:类似与volist标签,只是更加简单,没有太多额外的属性.) 语法: {eyou:channel type='top'} {eyou:foreach name='$field.children' item='field1'} <a href='{$field1.typeurl}'>{$field1.typename}</a> {/eyou:foreach} {/eyou:channel} 文件: 无 参数: na

前端自动化测试神器-Katalon的基础用法

前言 最近由于在工作中需要通过Web端的功能进行一次大批量的操作,数据量大概在5000左右,如果手动处理, 完成一条数据的操作用时在20秒左右的话,大概需要4-5个人/天的工作量(假设一天8小时的工作里除去休息时间,我能在6个小时里像机器人一样保证每20秒处理一条数据). 显然,作为一个程序员,我是不可能让这样机械化的操作浪费我宝贵的生命的.第一反应是想到了若干年前被我用来做Web前端测试和写页游外挂的神器Selemium(当时页游真的很火,我用自己写的脚本,在只花了很少钱的情况下,用了不到3周

sass基础用法

sass基础用法 SASS是什么 传统的CSS是一种单纯的描述性样式文件,然而SASS可以对CSS进行预编译处理. 在SASS源码中可以使用变量.函数.继承等动态语言的特性,并且可以编译成CSS文件. 安装与使用 安装 由于sass是ruby写的,所以想要使用sass就需要安装ruby环境.然后再使用gem安装sass. 输入下面的命令进行安装sass: gem install sass 可以使用sass -v命令查看sass的版本. 使用 新建一个后缀名为.scss源码文件,就可以编辑sass

游标基础用法

Create PROCEDURE P_InsertSubject@SubjectId intASDECLARE rs CURSOR LOCAL SCROLL FORselect studentid from student where StudentGradu = 1OPEN rsFETCH NEXT FROM rs INTO @tempStudentIDWHILE @@FETCH_STATUS = 0BEGINInsert SelSubject values (@SubjectId,@temp

Cocos数据篇[3.4](6) ——SQLite3数据库基础用法

[唠叨] 在Cocos2d-x中,简单数据存储,可以使用UserDefault.那么如何存储大量,不规则的数据?我们可以使用 SQLite数据库 存储数据.SQLite 是使用非常广泛的 嵌入式数据库 ,它有小巧 .高效.跨平台.开源免费和易操作的特点.所以大量的被用于手机.PDA.MP3播放器.以及机顶盒设备. SQLite数据库是使用C语言来编写的,因此在Cocos2d-x使用SQLite也是得心应手. 本文介绍一下SQLite3数据库的基础用法:增删改查. PS:另外对于SQLite的可视

sed命令基础用法

    sed(Stream EDitor)简介 sed是一个流编辑器编辑器,本身是一个管道命令,主要以行为单位处理文本文件,可以将数据进行替换.删除.新增.选取等特定工作:sed并不会处理文本文件本身,而是每当处理一个文件时,按顺序逐行读取到模式空间(内存)中,而后在模式空间中完成编辑,把编辑的结果输出到屏幕上,接着处理下一行,反复操作,直到文件结尾. 模式空间:将读取的内容放在内存中的一块区域编辑,这些内存空间就称为模式空间 格式: sed [options]    'Address Com

易企cms获取分类下的指定个数产品方法

易企cms默认版本能获取指定分类的所有产品,但是不能获取指定的个数,为了能够获取指定的个数,我找到了GetProductList方法进行了改进: 1.找到根目录下的include/product.class.php文件搜索关键字"GetProductList"将GetProductList方法替换为如下代码, function GetProductList($cid,$skip=0,$take=10,$orderby="adddate desc",$all=fals

2017.04 vue学习笔记---08表单控件绑定---基础用法

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> div{ margin-bottom: 30px; } </style> <script src="js/vue.js"></script> <

PHP易混淆函数的区别及用法汇总

本文实例分析了PHP易混淆函数的区别及用法.分享给大家供大家参考.具体分析如下: 1.echo和print的区别PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.echo输出后没有返回值,但print有返回值,当其执行失败时返回flase.因此可以作为一个普通函数来使用,例如执行下面的代码后变量$r的值将为1. PHP代码: 复制代码代码如下: $r = print "Hello World"; 这意味着print可用在一些复杂的表达式中,而echo则不