volist标签
volist标签主要用于在模板中循环输出数据集或者多维数组
volist(name,id,offset,length,key,mod,empty)
name(必须):要输出的数据模型变量
id(必须):循环变量
offset(可选):要输出数据的offset
length(可选):输出数据的长度
key(可选):循环的key变量,默认值为i
mod(可选):对key值取模,默认为2(用于偶数行查询等)
empty(可选):如果数据为空显示的字符串

通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。

在Action中首先对模版赋值:

$User = M('User');

$list = $User->select();

$this->assign('list',$list);

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

<volist name="list" id="vo">

{$vo.id}

{$vo.name}

</volist>

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

<volist name="list" id="data">

{$data.id}

{$data.name}

</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" 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还有一个别名iterate,用法和volist是一样。

从2.1版开始允许使用函数设定数据集,如:

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

thinkphp中volist标签的更多相关文章

  1. ThinkPHP 模板 Volist 标签嵌套循环输出多维数组

    ThinkPHP 中对 volist 标签嵌套使用可实现多维数组的输出. volist 嵌套使用 一般的二维数组,可以用 volist 标签直接循环输出.对于多维数组,则需要对其中的数组成员再次使用 ...

  2. ThinkPhp5 中Volist标签的用法

    Volist标签一般是和内置方法assign()搭配使用,将值从后台传到前台,是当下比较流行的一种传值方法 本文实例讲述了ThinkPHP模板循环输出Volist标签用法.分享给大家供大家参考,具体如 ...

  3. Thinkphp的Volist标签

    Volist标签主要用于在模板中循环输出数据集或者多维数组. volist标签(循环输出数据) 闭合 非闭合标签 属性 name(必须):要输出的数据模板变量 id(必须):循环变量 offset(可 ...

  4. ThinkPHP学习 volist标签高级应用之多重嵌套循环、隔行变色(转)

    Action代码: public function index(){ $prod = I("get.prod_en"); $id = I("get.id", 0 ...

  5. PHP 学习笔记之一:thinkPHP的volist标签

    Volist标签主要用于在模板中循环输出数据集或者多维数组. 属性: name : 必须,输出数据模板变量,后台提供的变量. id : 必须,是循环变量,可以随便定义,但是不能跟name相同. 举个栗 ...

  6. thinkphp中 volist循环的 mod取值的问题

    <ul> <volist name="data" id="arr" key="k" mod="2"&g ...

  7. 在ThinkPHP中,if标签和比较标签对于变量的比较。

    在TP模板语言中.if和eq都可以用于变量的比较. <比较标签 name="变量" value="值">内容</比较标签> 比如: &l ...

  8. TP中if标签

    if标签 If标签如果php中if语句的作用,if是用于流程控制的. 在ThinkPHP中if标签也是用于流程控制的. If标签的语法格式: <if condition=’条件表达式’> ...

  9. thinkphp <volist>标签中 <if> 判断的写法

    thinkphp <volist>标签中 <if> 判断的写法 <volist name="data" id="vo"> & ...

随机推荐

  1. 使用js实现显示系统当前时间并实现倒计时功能并触发模态框(遮罩)功能

    常常在我们的网页中需要倒计时来触发一些函数,例如遮罩等,在本项目中,通过使用jquery,bootstrap,实现了显示系统当前时间,并且实现了倒计时的功能,倒计时实现后将会弹出模态框(遮罩层).模态 ...

  2. Asp.Net MVC<六>:Controller、Action 待续

    控制器 抽象类Controller Visual Studio的向导创建的Controller类型继承自抽象类Controller. 它是ControllerBase的子类. 实现了IControll ...

  3. Android基础总结(一)

    Android项目的目录结构 Activity:应用被打开时显示的界面 src:项目代码 R.java:项目中所有资源文件的资源id Android.jar:Android的jar包,导入此包方可使用 ...

  4. gulp打包js/css时合并成一个文件时的顺序解决

    1.可以使用插进gulp-order. 2.可以这样的写法: return gulp.src(['js/common.js','js/**/*.js']) .pipe(concat('build.js ...

  5. '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp error

    '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp error 异常现象 ### Cause: java.sql.SQ ...

  6. Eclipse Maven3新建web项目

    环境: Eclipse Neon JDK1.8 先决条件: 本机下载apache-tomcat-8,解压,在Eclipse->preferences->server里配置安装目录.并在ec ...

  7. winston写日志(译)

    使用 有两种方式去使用winston,直接通过默认的logger,或者实例化自己的Logger,前者设计的目的是在你的应用程序中共享logger比较方便. 使用默认Logger 使用默认的logger ...

  8. thinkphp3.2与phpexcel基础生成

    public function ff(){ import("Org.Util.PHPExcel"); import("Org.Util.PHPExcel.Workshee ...

  9. 探索ASP.NET MVC框架之路由系统

    引言 对于ASP.NET MVC的路由系统相信大家肯定不陌生.今天我们就深入ASP.NET的框架内部来看一下路由系统到底是怎么通过我们给出的地址(例如:/Home/Index)解析出Controlle ...

  10. 6Hibernate进阶----青软S2SH(笔记)

    关于关联关系的配置,用注解配置如下(这里引用的jar包是javax.persistence) // @ManyToOne(fetch=FetchType.LAZY) @ManyToOne(fetch= ...