易优cms models 栏目分类列表标签介绍

2023-11-23 02:00

本文主要是介绍易优cms models 栏目分类列表标签介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[基础用法]

标签:models

描述:易优常用标记,可以循环嵌套标签。通常用于网站导航以获取站点栏目信息。

用法:

{eyou:models type='top' loop='8' currentclass='active'}

<li class="{$field.currentclass}"><a href='{$field.typeurl}'  {$field.extends}>{$field.typename}</a> </li>

{/eyou:models}

属性:

typeid="栏目ID"

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

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

titlelen='30' 栏目名称长度

type='son' 表示下级栏目

  • type='self' 表示同级栏目
  • type='top' 表示顶级栏目
  • type='sonself' 表示当前下级栏目以及同级栏目
  • type='first' 表示当前栏目ID的最顶级栏目下的第一级全部栏目

currentclass='' 应用样式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'就表示栏目一的所有子栏目)

 注:{$field.extends}为新窗口打开/nofollow 等设置,直接放在a标签的参数里即可


-------------------------------效果展示--------------------------------
1,调用顶级栏目导航
模板调用代码

{eyou:models type="top" loop="8" id="field" currentclass="on"}

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

{/eyou:models}

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



2.当前栏目下子栏目调用
模板调用代码

{eyou:models loop="6" type ='son' currentclass="on"}

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

{/eyou:models}

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

【更多示例】

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

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

{eyou:models type="top" loop="10" currentclass="active"}

<a href="{$field.typeurl}" title="{$field.typename}" class="{$field.currentclass}">{$field.typename}</a>

{/eyou:models}

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

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

{eyou:models type='top' loop='10' id='field1' currentclass='active'} // 第一级栏目循环开始

<li>

<a href="{$field1.typeurl}" title="{$field1.typename}" class="{$field1.currentclass}">

{$field1.typename}

{eyou:notempty name='$field1.children'} // 判断是否有子栏目(该示例指的是第二级栏目)

有子栏目时才显示这里的html代码,比如:箭头、图标等

{/eyou:notempty}

</a>

{eyou:notempty name='$field1.children'} // 判断是否有子栏目(该示例指的是第二级栏目)

<div>

{eyou:models name='$field1.children' id='field2' loop='10'} // 第二级栏目循环开始

<a href="{$field2.typeurl}" class="dropdown-item ">{$field2.typename}</a>

{/eyou:models} // 第二级栏目循环结束

</div>

{/eyou:notempty}

</li>

{/eyou:models} // 第一级栏目循环结束

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

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

{eyou:models type='top' loop='10' id='field1' currentclass='active'} // 第一级栏目循环开始

<li>

<a href="{$field1.typeurl}" title="{$field1.typename}" class="{$field1.currentclass}">

{$field1.typename}

{eyou:notempty name='$field1.children'}

有子栏目时才显示这里的html代码,比如:箭头、图标等

{/eyou:notempty}

</a>

{eyou:notempty name='$field1.children'} // 判断是否有子栏目(第二级栏目)start

<div>

{eyou:models name='$field1.children' id='field2' loop='10'} //第二级栏目循环开始

<div>

<a href="{$field2.typeurl}" class="dropdown-item ">{$field2.typename}</a>

{eyou:notempty name='$field2.children'} // 判断是否有子栏目(第三级栏目)start

<div class="dropdown-menu animate">

{eyou:models name='$field2.children' id='field3' loop='10'} //第三级栏目循环开始

<a href="{$field3.typeurl}" class="dropdown-item ">{$field3.typename}</a>

{/eyou:models} //第三级栏目循环结束

</div>

{/eyou:notempty} // 判断是否有子栏目(第三级栏目)end

</div>

{/eyou:models} // 第二级栏目循环结束

</div>

{/eyou:notempty} // 判断是否有子栏目(第二级栏目)end

</li>

{/eyou:models} //第一级栏目循环结束

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

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

{eyou:models typeid='文档ID' loop='10' mod='3'}

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

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

{/eyou:eq}

{/eyou:models}

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

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

{eyou:models typeid='文档ID' loop='10' mod='3'}

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

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

<br/>

{/eyou:eq}

{/eyou:models}

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

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

{eyou:models typeid='栏目ID' type='son' offset='2'}

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

{/eyou:models}

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

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

{eyou:models type='top'}

{$key} - {$i}

{/eyou:models}

效果:

0 - 1

1 - 2

2 - 3

3 - 4

4 - 5

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

描述:自定义变量名

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

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

{/eyou:models}

这篇关于易优cms models 栏目分类列表标签介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/414528

相关文章

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Python中DataFrame转列表的最全指南

《Python中DataFrame转列表的最全指南》在Python数据分析中,Pandas的DataFrame是最常用的数据结构之一,本文将为你详解5种主流DataFrame转换为列表的方法,大家可以... 目录引言一、基础转换方法解析1. tolist()直接转换法2. values.tolist()矩阵

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

python展开嵌套列表的多种方法

《python展开嵌套列表的多种方法》本文主要介绍了python展开嵌套列表的多种方法,包括for循环、列表推导式和sum函数三种方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、嵌套列表格式二、嵌套列表展开方法(一)for循环(1)for循环+append()(2)for循环+pyPhWiFd

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D