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 相关文章推荐
获得Google PR值的PHP代码
Jan 28 PHP
php iconv() : Detected an illegal character in input string
Dec 05 PHP
php列出一个目录下的所有文件的代码
Oct 09 PHP
php中将html中的br换行符转换为文本输入中的换行符
Mar 26 PHP
PHP字符串的递增和递减示例介绍
Feb 11 PHP
php类常量用法实例分析
Jul 09 PHP
PHP使用mysqli操作MySQL数据库的简单方法
Feb 04 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
Jul 10 PHP
浅谈Laravel中的一个后期静态绑定
Aug 11 PHP
PHP实现打包下载文件的方法示例
Oct 07 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
Dec 20 PHP
PhpStorm连接服务器并实现自动上传功能
Dec 09 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
建立动态的WML站点(二)
2006/10/09 PHP
php mssql 日期出现中文字符的解决方法
2009/03/10 PHP
PHP parse_url 一个好用的函数
2009/10/03 PHP
Function eregi is deprecated (解决方法)
2013/06/21 PHP
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
Egret引擎开发指南之发布项目
2014/09/03 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
javascript实现简单搜索功能
2020/03/26 Javascript
javascript实现文字跑马灯效果
2020/06/18 Javascript
详解React 元素渲染
2020/07/07 Javascript
Angular处理未可知异常错误的方法详解
2021/01/17 Javascript
TensorFlow神经网络优化策略学习
2018/03/09 Python
基于MTCNN/TensorFlow实现人脸检测
2018/05/24 Python
python实现五子棋小程序
2019/06/18 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
python实现音乐播放和下载小程序功能
2020/04/26 Python
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
大学毕业生简单自荐信
2013/11/05 职场文书
仓库理货员岗位职责
2013/12/18 职场文书
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
青年志愿者事迹材料
2014/02/07 职场文书
大学生党员自我评价
2015/03/04 职场文书
2015国庆节66周年演讲稿
2015/03/20 职场文书
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书
win10下go mod配置方式
2021/04/25 Golang
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技