Thinkphp5 volist配合if condition实现if条件输出
使用thinkphp搭建应用时,后台传递了一组数据集,该如何通过模块标签进行解析并展示呢!
在此分享,thinkphp视图模板中volist标签的相关参数和基本使用方法:
name(必须):要输出的数据模板变量
id(必须):循环变量
offset(可选):要输出数据的offset
length(可选):输出数据的长度
key(可选):循环的key变量,默认值为i(注意,没有设置key变量时,不要设i变量,以免发生冲突)
mod(可选):对key值取模,默认为2
empty(可选):如果数据为空显示的字符串
以下是数据查询输出到模板的数据集:
array(3) {
[0] => array(7) {
[“id”] => int(2)
[“imgpath”] => string(25) “static/img/2023021301.jpg”
[“category”] => string(8) “topslide”
[“imgdes”] => string(22) “这是测试图片0101”
[“imgorder”] => int(80)
[“display”] => int(1)
[“update_time”] => string(19) “2023-06-02 19:17:50”
}
[1] => array(7) {
[“id”] => int(1)
[“imgpath”] => string(25) “static/img/2023031001.jpg”
[“category”] => string(8) “topslide”
[“imgdes”] => string(6) “测试”
[“imgorder”] => int(50)
[“display”] => int(1)
[“update_time”] => string(19) “2023-06-01 21:42:23”
}
[2] => array(7) {
[“id”] => int(3)
[“imgpath”] => string(25) “static/img/2023021902.jpg”
[“category”] => string(8) “topslide”
[“imgdes”] => string(18) “这是测试图片”
[“imgorder”] => int(5)
[“display”] => int(1)
[“update_time”] => string(19) “2023-06-01 19:14:35”
}
}
使用以下方法,即可使用条件输出。将第一个数据添加active的Class类;
- {volist name=’slide’ id=’slide_info’}
- {if condition=”$i eq 1″}
- <div class=”item active”>
- <img src=”{$slide_info.imgpath}” alt=”{$slide_info.imgdes}”>
- <div class=”carousel-caption”>
- </div>
- </div>
- {else/}
- <div class=”item”>
- <img src=”{$slide_info.imgpath}” alt=”{$slide_info.imgdes}”>
- <div class=”carousel-caption”>
- </div>
- </div>
- {/if}
- {/volist}
复制代码
volist中key没有设定时,系统默认是$i, 即$i是数据集的key. “$i eq 1” 指的是数据集中第一个数据。
注意事项. <if condition=”$i eq 1″>这样的样式是thinkphp老版本语法,请使用新版本{}