易优EyouCMS程序中foreach标签实现循环输出的使用方法及示例
一、基础用法
- 标签名称:
{eyou:foreach}
- 描述:用于对数组或对象进行简单循环遍历输出,常用于栏目、子栏目、列表等结构的展示。
- 语法格式:
html
{eyou:foreach name='变量名' item='循环项变量'} 循环内容 {/eyou:foreach}
二、属性说明
属性名 | 必填 | 说明 |
---|---|---|
name |
是 | 要遍历的变量(通常是一个数组),如 $field.children |
item |
是 | 自定义每次循环的变量名,如 field1 ,模板中通过 {$field1.字段名} 使用 |
⚠️ 注意:name
中的变量需以$
开头。
三、使用示例
示例1:配合channel标签输出顶级栏目的子栏目
html
{eyou:channel type='top'} {eyou:foreach name='$field.children' item='field1'} <a href='{$field1.typeurl}'>{$field1.typename}</a> {/eyou:foreach} {/eyou:channel}
说明:获取所有顶级栏目,并循环输出每个顶级栏目的子栏目链接和名称。
示例2:循环输出自定义数组变量
html
{eyou:assign name='myarray' value='[{"id":1,"name":"选项A"},{"id":2,"name":"选项B"}]' /} {eyou:foreach name='$myarray' item='item'} <p>ID: {$item.id}, 名称: {$item.name}</p> {/eyou:foreach}
说明:先定义一个JSON格式的数组变量$myarray
,然后使用foreach
循环输出其中的内容。
示例3:结合modelsartlist输出文档列表
html
{eyou:modelsartlist typeid='1' loop='5'} {eyou:foreach name='$field.articleList' item='arc'} <li><a href='{$arc.arcurl}'>{$arc.title}</a></li> {/eyou:foreach} {/eyou:modelsartlist}
说明:在 modelsartlist
标签下,循环输出当前栏目下的文档列表。
四、注意事项
foreach
更加轻量级,适用于简单的循环场景;- 不支持自动计数、奇偶行判断等复杂功能(如
volist
支持); - 推荐在数据结构明确的情况下使用,提升模板可读性;
- 配合
assign
可实现更灵活的数据处理。
更新时间:2025-05-06 10:29:49
上一篇:易优EyouCMS程序中notempty标签判断变量不为空的使用方法及示例