- 全局标签
- artlist 文章列表
- models 栏目列表
- modelsartlist 频道循环
- type 指定栏目
- include 引用模板
- arcview 单条文档
- position 面包屑
- assign 定义变量
- empty 为空判断
- notempty 不为空判断
- foreach 循环输出
- volist 数据循环
- if 条件判断
- switch 条件判断
- compare 变量比较
- adv 广告列表
- load 文件加载
- global 全局变量
- field 字段值
- tags 标签调用
- searchform 搜索标签
- 常用函数
- links 友情链接
- SQL 数据查询
- weapp 应用插件
- range 范围判断
- for 数据循环
- ad 单条广告
- attribute 栏目属性
- user 会员信息
- diyurl 内链调用
- php标签
- hotkeywords 热门搜索
- notice 站内信
- asklist 问答列表
- citysite 城市站点
- navigation 导航菜单
- static 文件引入
- 会员注销标签使用方法
- 列表标签
- 内容标签
- 可视化标签
- 多语言标签
models 栏目列表
[基础用法]
标签:models (channel)
备注:用channel也可以正常输出
描述:易优常用标记,可以循环嵌套标签。通常用于网站导航以获取站点栏目信息。
用法:
{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}
涉及表字段:
请查阅易优数据字典,找到表名 ey_arctype
(注:在没有指定typeid的情况下,type标记与模板的环境有关,如:模板生成到栏目一,那么type='son'就表示栏目一的所有子栏目)
注:{$field.extends}为新窗口打开/ 等设置,直接放在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}
文档最后更新时间:2023-10-23 17:27:14
未解决你的问题?请到「问答社区」反馈你遇到的问题