速建时代TPCMS管理系统
首页
系统介绍
安装教程
开发
发文帮助
制作帮助
APP接口使用
商城api管理
新版
系统介绍
功能信息
架构信息
安装教程
模板安装
运行环境安装
开发环境的搭建3
开发
微信开发
thinkphp6 auth 权限
buildHtml
数据结构
tp5插件管理
发文帮助
招聘管理
栏目管理
网站管理
内容管理
制作帮助
设计说明
首页制作帮助-index
列表页制作-list_article
封面(单页)频道栏目-index_article
内容页制作-article_article
单页自定义-名称自定义
网站制作模板帮助
更新
APP接口使用
api获取导航
商城api管理
个人中心
商城列表
api商品通用接口
新版
常用volist标签属性
| 标签名 | 作用 | 包含属性 | | ------------ | ------------ | ------------ | |标签名|作用|包含属性| |include|包含外部模板文件(闭合)|file| |load|导入资源文件(闭合 包括js css import别名)|file,href,type,value,basepath| |volist|循环数组数据输出|name,id,offset,length,key,mod| |foreach|数组或对象遍历输出|name,item,key| |for|For循环数据输出|name,from,to,before,step| |switch|分支判断输出|name| |case|分支判断输出(必须和switch配套使用)|value,break| |default|默认情况输出(闭合 必须和switch配套使用|无| |compare|比较输出(包括eq neq lt gt egt elt heq nheq等别名)|name,value,type| |range|范围判断输出(包括in notin between notbetween别名)|name,value,type| |present|判断是否赋值|name| |notpresent|判断是否尚未赋值|name| |empty|判断数据是否为空|name| |notempty|判断数据是否不为空|name| |defined|判断常量是否定义|name| |notdefined|判断常量是否未定义|name| |define|常量定义(闭合)|name,value| |assign|变量赋值(闭合)|name,value| |if|条件判断输出|condition| |elseif|条件判断输出(闭合 必须和if标签配套使用)|condition| |else|条件不成立输出(闭合 可用于其他标签)|无| |php|使用php代码|无| 循环输出标签 使用方式 volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。 在控制器中首先对模版赋值: ```html $list = User::all(); $this->assign('list',$list); ``` 在模版定义如下,循环输出用户的编号和姓名: ```html {volist name="list" id="vo"} {$vo.id}:{$vo.name}
{/volist} ``` Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但确保不要和name属性冲突,例如: ```html {volist name="list" id="data"} {$data.id}:{$data.name}
{/volist} ``` 支持输出查询结果中的部分数据,例如输出其中的第5~15条记录 ```html {volist name="list" id="vo" offset="5" length='10'} {$vo.name} {/volist} ``` 输出偶数记录 ```html {volist name="list" id="vo" mod="2" } {eq name="mod" value="1"}{$vo.name}{/eq} {/volist} ``` Mod属性还用于控制一定记录的换行,例如: ```html {volist name="list" id="vo" mod="5" } {$vo.name} {eq name="mod" value="4"}
{/eq} {/volist} ``` 为空的时候输出提示: ```html {volist name="list" id="vo" empty="暂时没有数据" } {$vo.id}|{$vo.name} {/volist} ``` empty属性不支持直接传入html语法,但可以支持变量输出,例如: ```html $this->assign('empty','
没有数据
'); $this->assign('list',$list); ``` 然后在模板中使用: ```html {volist name="list" id="vo" empty="$empty" } {$vo.id}|{$vo.name} {/volist} ``` 输出循环变量: ```html {volist name="list" id="vo" key="k" } {$k}.{$vo.name} {/volist} ``` 如果没有指定key属性的话,默认使用循环变量i,例如: ```html {volist name="list" id="vo" } {$i}.{$vo.name} {/volist} ``` 如果要输出数组的索引,可以直接使用key变量,和循环变量不同的是,这个key是由数据本身决定,而不是循环控制的,例如: ```html {volist name="list" id="vo" } {$key}.{$vo.name} {/volist} ``` 模板中可以直接使用函数设定数据集,而不需要在控制器中给模板变量赋值传入数据集变量,如: ```html {volist name=":fun('arg')" id="vo"} {$vo.name} {/volist} ``` FOREACH标签 foreach标签类似与volist标签,只是更加简单,没有太多额外的属性,最简单的用法是: ```html {foreach $list as $vo} {$vo.id}:{$vo.name} {/foreach} ``` 该用法解析后是最简洁的。 也可以使用下面的用法: ```html {foreach name="list" item="vo"} {$vo.id}:{$vo.name} {/foreach} ``` name表示数据源 item表示循环变量。 可以输出索引,如下: ```html {foreach name="list" item="vo" } {$key}|{$vo} {/foreach} ``` 也可以定义索引的变量名 ```html {foreach name="list" item="vo" key="k" } {$k}|{$vo} {/foreach} ``` FOR标签 用法: ```html {for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" } {/for} ``` 开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其他是可选。comparison 的默认值是lt,name的默认值是i,步进值的默认值是1,举例如下: ```html {for start="1" end="100"} {$i} {/for} ``` 解析后的代码是 ```html for ($i=1;$i<100;$i+=1){ echo $i; } ```