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 相关文章推荐
Smarty+QUICKFORM小小演示
Feb 25 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续四
Apr 03 PHP
PHP实现手机归属地查询API接口实现代码
Aug 27 PHP
基于PHP编程注意事项的小结
Apr 27 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
ThinkPHP模板中数组循环实例
Oct 30 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
Feb 12 PHP
php数组转成json格式的方法
Mar 09 PHP
Zend Framework教程之Zend_Db_Table用法详解
Mar 21 PHP
php生成毫秒时间戳的实例讲解
Sep 22 PHP
Laravel框架处理用户的请求操作详解
Dec 20 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
Apr 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 和 MySQL 基础教程(二)
2006/10/09 PHP
PHP中shuffle数组值随便排序函数用法
2014/11/21 PHP
PHP线程的内存回收问题
2016/07/08 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
基于jquery实现的树形菜单效果代码
2015/09/06 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
js与applet相互调用的方法
2016/06/22 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
2016/12/13 Javascript
Bootstrap源码解读网格系统(3)
2016/12/22 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
2019/03/11 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
vue实现记事本功能
2019/06/26 Javascript
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
讲解python参数和作用域的使用
2013/11/01 Python
python转换摩斯密码示例
2014/02/16 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
python 输出上个月的月末日期实例
2018/04/11 Python
python常用运维脚本实例小结
2020/02/14 Python
python中for in的用法详解
2020/04/17 Python
详解pycharm配置python解释器的问题
2020/10/15 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
交通法规咨询中心工作职责
2013/11/27 职场文书
计划生育宣传标语
2014/06/21 职场文书
助学贷款贫困证明
2014/09/23 职场文书
给老师的感谢信
2015/01/20 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
学校通报表扬范文
2015/05/04 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
JavaScript控制台的更多功能
2021/04/28 Javascript