易优EyouCMS程序中volist标签实现数据循环输出的使用方法及示例
一、基础用法
- 标签名称:
{eyou:volist}
- 描述:用于对数组或对象进行循环遍历输出,功能比
foreach
更强大,支持更多控制属性,适合复杂的数据列表展示。 - 语法格式:
html
{eyou:volist name='变量名' id='循环项变量'} 循环内容 {/eyou:volist}
二、属性说明
属性名 | 必填 | 说明 |
---|---|---|
name |
是 | 要遍历的变量(通常是一个数组),如 $field.children |
id |
是 | 自定义每次循环的变量名,如 field1 ,模板中通过 {$field1.字段名} 使用 |
⚠️ 注意:name
中的变量需以$
开头。
三、常用功能与示例
示例1:循环输出顶级栏目的子栏目
html
{eyou:channel type='top'} {eyou:volist name='$field.children' id='field1'} <a href='{$field1.typeurl}'>{$field1.typename}</a> {/eyou:volist} {/eyou:channel}
说明:获取所有顶级栏目,并循环输出每个顶级栏目的子栏目链接和名称。
示例2:带索引序号的循环输出
html
{eyou:volist name='$eyou.field.children' id='field1' } <li class="item-{$key}">{$key+1}. <a href='{$field1.typeurl}'>{$field1.typename}</a></li> {/eyou:volist}
说明:系统自动提供 $key
变量表示当前循环索引(从0开始),可用于生成序号或奇偶行样式区分。
示例3:限制循环次数(取前5条)
html
{eyou:volist name='$eyou.field.children' id='field1' limit='5'} <li><a href='{$field1.typeurl}'>{$field1.typename}</a></li> {/eyou:volist}
说明:使用 limit='5'
控制只输出前5个子栏目。
示例4:结合assign自定义数据源循环
html
{eyou:assign name='mylist' value='[{"title":"新闻1","arcurl":"/a1"},{"title":"新闻2","arcurl":"/a2"}]' /} {eyou:volist name='$mylist' id='arc'} <li><a href='{$arc.arcurl}'>{$arc.title}</a></li> {/eyou:volist}
说明:先通过assign
定义一个自定义数据列表$mylist
,再通过volist
循环输出。
四、扩展属性(高级用法)
虽然官方文档未明确列出所有属性,但根据 ThinkTemplate 模板引擎特性,volist
支持如下扩展参数(视版本而定):
扩展属性 | 说明 |
---|---|
offset |
起始位置,如 offset='2' 表示跳过前两条 |
limit |
最大输出条数,如 limit='5' 输出最多5条 |
key |
自定义索引变量名,默认为 $key |
mod |
每隔N次执行某操作,常用于奇偶行样式切换 |
五、注意事项
volist
相较于foreach
功能更丰富,适合需要分页、计数、限制数量等场景;- 推荐在数据结构复杂或需要控制显示逻辑时使用;
- 若仅需简单遍历,可优先使用
foreach
提高模板可读性。
更新时间:2025-05-06 10:30:45
上一篇:易优EyouCMS程序中foreach标签实现循环输出的使用方法及示例