我的知识记录

易优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标签实现循环输出的使用方法及示例

下一篇:易优EyouCMS程序中volist标签实现数据循环输出的使用方法及示例