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. Strict Mode (JavaScript)

    摘要: ECMAScript5中引入的严格模式,通过让JavaScript运行环境对一些开发过程中最常见和不易发现的错误做出和当前不同的处理,来让开发者拥有一个”更好”的JavaScript语言.但目 ...

  2. python monkey 猴子补丁技术编程,修改python json dumps方法。

    1.猴子补丁就是不改变原有模块的内容的前提下,给原有模块新增方法或者修改原有模块. 一个模块的函数,如果希望改变函数的功能,不改变函数名,通常是库模块,你不可能去修改三方库的源码的,实施起来不方便,而 ...

  3. 为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?【转载】

    转载自:http://www.cnblogs.com/dancefire/archive/2013/01/02/why-notifyDataSetChanged-does-not-work.html ...

  4. 统计js数组中奇数元素的个数

    如何统计一个JS数组中奇数元素的个数呢? 这是群友提出的一个问题,大部分群友给出的是遍历 然后对2取模,得到最终结果. 这样的写法是最容易想得到的,那么有没有其他思路呢? 这里我提供另外一种思路,我们 ...

  5. itchat+pillow实现微信好友头像爬取和拼接

    源码下载链接:https://pan.baidu.com/s/1cPZhwy 密码:2t2o ###效果图 使用方法: 下载项目到本地,打开项目主目录,打开命令行,输入: pip install -r ...

  6. gitlab数据迁移

    由于gitlab是默认安装的,随着公司代码越来越多,导致gitlab数据目录空间不足,出现无法访问gitlab了. 磁盘空间: /home有1.8T的空间一直没用上! 现在打算将原有代码目录迁移到新目 ...

  7. ajax二级联动代码实例

    //二级联动 $(function () { var _in_progress = false; function check_in_progress() { if (_in_progress == ...

  8. luanet分布式lua框架

    luanet最初只是一个网络框架,它简单的封装了一些网络相关接口然后暴露到lua中,让lua可以构建简单的网络应用. 随着我的手游服务器的开发,我发现在C语言中要实现一个简洁易用的RPC调用接口并不容 ...

  9. tp3.2 ajax 表单提交

    前台: 1 <form action="javascript:;" method="post" class="form_div" id ...

  10. WP8.1学习系列(第二十二章)——在页面之间导航

    在本文中 先决条件 创建导航应用 Frame 和 Page 类 页面模板中的导航支持 在页面之间传递信息 缓存页面 摘要 后续步骤 相关主题 重要的 API Page Frame Navigation ...