循环标签
用于循环输出数组或者对象的属性,例如使用多文件、多图片、复选、键值对的组件时,在内容页调用该标签循环输出内容。
格式示例
{hkcms:volist name="Info.images"}<div class="carousel-item {$currentstyle}"> <img src="{$item}" class="d-block w-100"></div>{/hkcms:volist}
参数
参数名称 | 可选值 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
currentstyle | - | active | - | 指定选中的class样式具体看下面示例 |
current | - | 1 | - | 指定第几个选中,默认active class给到第一个 |
id | - | $item | - | 指定循环里的变量名,例如id='obj',模板调用如:{$item.title} 变成 {$obj.title} |
name | - | - | - | 传入数组、对象 |
offset | - | - | - | 从第几条开始循环 |
length | - | - | - | 循环次数,例如输出其中的第5~15条记录,offset="5" length='10' |
mod | - | - | - | 取余运算 |
empty | - | - | - | 为空的时候输出提示 |
key | - | i | - | 指定循环变量,如果没有指定key属性的话,默认使用循环变量i |
参数说明
currentstyle
属性,用于图集数组在轮播图时进来页面看到的第一张图片,active 没有定义样式,需要自己定义。结合current
属性,current=1,在第一次循环时currentstyle等于active,其他循环为空。如下:
// current=2,只有循环到第二次时$currentstyle变量才有active值{hkcms:volist name="$Info.more.files" current="2"}<p class="{$currentstyle}">{$item}</p>{/hkcms:volist}
id
属性,用于改变循环变量,默认是$item,例如改成$vo,无需加$
{hkcms:volist name="$Info.more.files" id="vo" }<p>{$vo}</p>{/hkcms:volist}
name
属性,传入要输出的变量名称,如上面,取的是自己添加的字段files(多文件数组类型)。除了变量,还支持调用方法如下:
{hkcms:volist name=":ceshi()" id="vo"}<p>{php}dump($vo);{/php}</p>{/hkcms:volist}
offset
属性,用于限制从第几条开始循环,例如如下:结合length
属性输出其中的第5~15条记录
{hkcms:volist name="$Info.more.files" offset="5" length="10"}<p>{php}dump($item);{/php}</p>{/hkcms:volist}
mod
取余运算属性,使用该属性后,在循环模板里面得到{$mod}变量,里面的值等于循环变量i%mod
,i是从1开始的,每循环一次i+1。
例如:mod="2",判断偶数奇数。用于每一行图片左右摆放样式不一样时可以使用。更多使用方式根据实际情况设置。
{hkcms:volist name="$Info.more.files" mod="2"}{$i} - {$mod}{if $mod==1}偶数{else /}奇数{/if}{/hkcms:volist}
empty
为空提示标签,不支持传入HTML,但可以传入变量
{hkcms:volist name="$Info.more.files" empty="没有更多数据了"}{php}dump($item){/php}{/hkcms:volist}
传入变量
{php}$empty = '<p align="center">- 没有更多数据了 -</p>';{/php}{hkcms:volist name="$Info.more.files" empty="$empty"}{php}dump($item){/php}{/hkcms:volist}
key
循环变量属性,默认是i,从1开始,每循环一次增加1。
输出循环变量
{hkcms:volist name="$Info.more.files" }{php}dump($i){/php}{/hkcms:volist}
改变循环变量
{hkcms:volist name="$Info.more.files" key="k" }{php}dump($k){/php}{/hkcms:volist}
循环变量不是指数组索引值,数组索引值可以使用{$key}。
{hkcms:volist name="$Info.more.files" }{$key}{/hkcms:volist}
示例
设置第二张选中,选中的class 为:ac
有时候,我们的图集轮播图,需要默认显示第几张显示,可按一下设置参数,设置好后,将{$currentstyle}放入你想放入的class标签上即可。
// Info.images 为内容里的图集,name不用加:$,可参考模板开发下的可用变量。{hkcms:volist name="Info.images" currentstyle="ac" current="2"}<div class="carousel-item {$currentstyle}"> <img src="{$item}" class="d-block w-100"></div>{/hkcms:volist}