Thinkphp中的volist标签用法简介


Posted in PHP onJune 18, 2014

通常volist标签多用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,对此可以直接使用volist标签进行输出。

在控制器中首先对模版赋值,如下例所示:

$User = M('User');
$list = $User->limit(10)->select();
$this->assign('list',$list);

在模版定义如下,循环输出用户的编号和姓名:

<volist name="list" id="vo">
{$vo.id}:{$vo.name}<br/>
</volist>

Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但需要确保不要和name属性冲突,例如:

<volist name="list" id="data">
{$data.id}:{$data.name}<br/>
</volist>

支持输出查询结果中的部分数据,例如输出其中的第5~15条记录:

<volist name="list" id="vo" offset="5" length='10'>
{$vo.name}
</volist>

输出偶数记录:

<volist name="list" id="vo" mod="2" >
<eq name="mod" value="1">
{$vo.name}
</eq>
</volist>

Mod属性还用于控制一定记录的换行,例如:

<volist name="list" id="vo" mod="5" >
{$vo.name}
<eq name="mod" value="4"><br/></eq>
</volist>

为空的时候输出提示:

<volist name="list" id="vo" empty="暂时没有数据" >
{$vo.id}|{$vo.name}
</volist>

empty属性不支持直接传入html语法,但可以支持变量输出,例如:

$this->assign('empty','<span class="empty">没有数据</span>');
$this->assign('list',$list);

然后在模板中使用:

<volist name="list" id="vo" empty="$empty" >
{$vo.id}|{$vo.name}
</volist>

输出循环变量:

<volist name="list" id="vo" key="k" >
{$k}.{$vo.name}
</volist>

如果没有指定key属性的话,默认使用循环变量i,例如:

<volist name="list" id="vo" >
{$i}.{$vo.name}
</volist>

如果要输出数组的索引,可以直接使用key变量,和循环变量不同的是,这个key是由数据本身决定,而不是循环控制的,例如:

<volist name="list" id="vo" >
{$key}.{$vo.name}
</volist>

模板中可以直接使用函数设定数据集,而不需要在控制器中给模板变量赋值传入数据集变量,如:

<volist name=":fun('arg')" id="vo">
{$vo.name}
</volist>

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP动态图像的创建
Oct 09 PHP
不用数据库的多用户文件自由上传投票系统(2)
Oct 09 PHP
PHP中读写文件实现代码
Oct 20 PHP
PHP 动态生成静态HTML页面示例代码
Jan 15 PHP
PHP+jQuery 注册模块开发详解
Oct 14 PHP
PHP连接MySQL数据的操作要点
Mar 20 PHP
typecho插件编写教程(四):插件挂载
May 28 PHP
twig模板常用语句实例小结
Feb 04 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
Jun 24 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
Nov 15 PHP
php 访问oracle 存储过程实例详解
Jan 08 PHP
php微信开发之谷歌测距
Jun 14 PHP
ThinkPHP令牌验证实例
Jun 18 #PHP
Smarty局部缓存的几种方法简介
Jun 17 #PHP
smarty模板局部缓存方法使用示例
Jun 17 #PHP
CodeIgniter CLI模式简介
Jun 17 #PHP
CI框架在CLI下执行占用内存过大问题的解决方法
Jun 17 #PHP
CI框架自动加载session出现报错的解决办法
Jun 17 #PHP
Thinkphp模板中截取字符串函数简介
Jun 17 #PHP
You might like
收集的PHP中与数组相关的函数
2007/03/22 PHP
关于UEditor编辑器远程图片上传失败的解决办法
2012/08/31 PHP
使用PHP Socket写的POP3类
2013/10/30 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
浅谈php处理后端&amp;接口访问超时的解决方法
2016/10/29 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
PHP实现百度人脸识别
2019/05/06 PHP
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
用于节点操作的API,颠覆原生操作HTML DOM节点的API
2010/12/11 Javascript
jquery的键盘事件修改代码
2011/02/24 Javascript
jQuery基本过滤选择器使用介绍
2013/04/18 Javascript
Javascript 命名空间模式
2013/11/01 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
2014/07/31 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
axios全局注册,设置token,以及全局设置url请求网段的方法
2018/09/25 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
python 网络爬虫初级实现代码
2016/02/27 Python
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
2020/01/15 Python
PyQt QMainWindow的使用示例
2021/03/24 Python
校长就职演讲稿
2014/01/06 职场文书
营销总经理岗位职责
2014/02/02 职场文书
公司接待方案
2014/03/08 职场文书
驾驶员培训方案
2014/05/01 职场文书
百家讲坛观后感
2015/06/12 职场文书
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python
Python使用DFA算法过滤内容敏感词
2022/04/22 Python