易优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

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

c++的初始化列表与const成员

初始化列表与const成员 const成员 使用const修饰的类、结构、联合的成员变量,在类对象创建完成前一定要初始化。 不能在构造函数中初始化const成员,因为执行构造函数时,类对象已经创建完成,只有类对象创建完成才能调用成员函数,构造函数虽然特殊但也是成员函数。 在定义const成员时进行初始化,该语法只有在C11语法标准下才支持。 初始化列表 在构造函数小括号后面,主要用于给