Volist标签主要用于在模板中循环输出数据集或者多维数组。

属性:

name : 必须,输出数据模板变量,后台提供的变量

id : 必须,是循环变量,可以随便定义,但是不能跟name相同。

举个栗子:

<volist name="user" id="vo">
{$vo.name}
</volist> 后台传入user变量
$this->assign('user',$user); 这样就循环输出user的name

offset : 可选,从模板变量的第几个开始循环。

lengthb : 可选,输出数据的长度。

举个栗子:

<volist name="user" id="vo" offset="5" length="10">
{$vo.name}
</volist>
输出第5条到第15条记录

key : 可选,循环的索引。

举个栗子:

<volist name="user" id="vo" key="k">
{$k}.{$vo.name}
</volist>
输出:
1.名字1
2.名字2
3.名字3
...
<volist name="user" id="vo">
{$i}.{$vo.name}
{$key}.{$vo.name}
</volist>
如果没有定义key,默认使用i,或者是key,效果也是一样的

empty : 可选,数据为空的时候输出的内容

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

拓展一下:

从2.1版开始允许在模板中直接使用函数设定数据集,而不需要在控制器中给模板变量赋值传入数据集变量,如:

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

还有在volist循环里面,如果嵌入php代码,怎么输出变量?直接看栗子吧:

<select>
<volist name="goods" id="vo">
<option value="{$vo.goods_name}" <?php echo ($goods_name == $vo['goods_name'])?"selected":"" ?> >{$key}.{$vo.goods_name}</option>
</volist>
</select>

在下拉列表里面,根据后台提供的数据,动态的添加option选项。在里面,用php代码,实现select动态显示option的值,而在php代码块中,使用volist的变量,则要使用$vo[‘goods_name’]

PHP 学习笔记之一:thinkPHP的volist标签的更多相关文章

  1. HTML+CSS学习笔记(3)- 认识标签(2)

    HTML+CSS学习笔记(3)- 认识标签(2) 1.使用ul,添加新闻信息列表 在浏览网页时,你会发现网页上有很多信息的列表,如新闻列表.图片列表, 这些列表就可以使用ul-li标签来完成.ul-l ...

  2. [原创]java WEB学习笔记52:国际化 fmt 标签,国际化的总结

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  3. Django 学习笔记(五)模板标签

    关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...

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

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

  5. thinkphp中volist标签

    volist标签 volist标签主要用于在模板中循环输出数据集或者多维数组 volist(name,id,offset,length,key,mod,empty) name(必须):要输出的数据模型 ...

  6. Thinkphp的Volist标签

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

  7. HTML&CSS基础学习笔记1.21-语义化标签

    语义化标签 “语义化”指的是机器在需要更少的人类干预的情况下能够研究和收集信息,让网页能够被机器理解,最终让人类受益. HTML 标签语义化是让大家直观的认识标签和属性的用途和作用,很明显<hx ...

  8. HTML&CSS基础学习笔记1.5-添加常用标签

    代码如下: <!DOCTYPE html><html lang="en"><head>    <meta charset="UT ...

  9. JavaWeb学习笔记(九)—— JSTL标签库

    一.JSTL概述 1.1 什么是JSTL  JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是 ...

随机推荐

  1. Android测试跑单个包脚本文件

    脚本: adb shell monkey -p 应用包名 --throttle 随机事件间隔 -v -v -v -s 1 --ignore-security-exceptions --kill-pro ...

  2. NetBpm XML解读(5)

    原文: nPdl的翻译 在看NetBPM的nPdl文档时做了个翻译,一来是让自己能更好的理解nPdl,二来是希望能得到关心NetBPM的同志的指导.    由于对工作流不熟悉,所以有不少术语翻译没有把 ...

  3. CentOS 6.4 SSH 免密码登录

    在配置apache集群分布时,要使用SSH免密码登录.假设现在有两台机器apache@svn(192.168.1.100)作为svn机,apache@app(192.168.1.101)作为app机. ...

  4. 使用InternetGetConnectedState判断本地网络状态(C#举例)

    函数原型:函数InternetGetConnectedState返回本地系统的网络连接状态. 语法: BOOL InternetGetConnectedState( __out LPDWORD lpd ...

  5. __stdcall __cdecl 引起的程序崩溃

    崩溃弹出的截图如下 看到0xC0000005, 访问冲突的问题, 九成九是内存访问违规, 比如访问了已经释放的指针, 又或者是离开函数时栈被破坏之类. 找了一下午一直没有头绪, 好在有一份可以执行的源 ...

  6. 【NodeJS】热更新

    1.npm install -g supervisor 2.supervisor WellDetect.js

  7. OSG添加回调更新

    class CB : public osg::NodeCallback { virtual void operator()(osg::Node* node, osg::NodeVisitor* nv) ...

  8. leetCode练习题

    1.求二叉树的最小深度: public class Solution { public int run(TreeNode root) { if(root==null) return 0; int l ...

  9. audio_policy.conf说明(翻译)

    自己记着当笔记,水平有限,仅供参考 # # Audio policy configuration for generic device builds (goldfish audio HAL - emu ...

  10. “std”: 具有该名称的命名空间不存在

    当只用using namesp std 时,会报 error C2871: “std”: 具有该名称的命名空间不存在. 包含一个含有std的头文件就不会报错了,比如<iostream>.& ...