TP5 volist
VOLIST标签
volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。 在控制器中首先对模版赋值:
$list = User::all();
$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}
FOREACH标签
foreach标签类似与volist标签,只是更加简单,没有太多额外的属性,最简单的用法是:
{foreach $list as $vo}
{$vo.id}:{$vo.name}
{/foreach}
该用法解析后是最简洁的。
也可以使用下面的用法:
{foreach name="list" item="vo"}
{$vo.id}:{$vo.name}
{/foreach}
name表示数据源 item表示循环变量。
可以输出索引,如下:
{foreach name="list" item="vo" }
{$key}|{$vo}
{/foreach}
也可以定义索引的变量名
{foreach name="list" item="vo" key="k" }
{$k}|{$vo}
{/foreach}
FOR标签
用法:
{for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" }
{/for}
开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其他是可选。comparison 的默认值是lt,name的默认值是i,步进值的默认值是1,举例如下:
{for start="1" end="100"}
{$i}
{/for}
解析后的代码是
for ($i=1;$i<100;$i+=1){
echo $i;
}
TP5 volist的更多相关文章
- tp5页面输出时,搜索后跳转下一页的处理
tp5页面输出时,搜索功能在跳转下一页时,如果不做任何处理,会返回原有是第二页输出的数据.为了保证跳转下一页时输出的是搜索到的数据,做以下处理. (要根据自己的搜索字段进行适当修改) 页面js代码,给 ...
- tp5中的一些小方法
// 当使用一个新页面替换当前页面的body后,body刷新了,所选择的select值就不能保存住,解决方法如下: 作业题目<select> <option>--请选择--&l ...
- TP5学习基础二:目录结构、URL路由、数据操作
一.安装1.使用git或者composer(composer update)进行实时更新,区别在于git不会清空核心框架目录而composer会清空.2.使用官网打包好的TP压缩包(解压即可用)-&g ...
- tp5框架的获取器
tp5的获取器功能很强大,一下子就喜欢上了,你可以在模块里任意定义表里不存在的字段,在前台调用很方便.话不多说直接上demo: 1.命名规则 get + 属性名的驼峰命名+ Attr 直接就能在m ...
- TP5和TP3.2的区别
1.控制器输出 return $this->fetch("index/hello"); $this->display 单字母函数去掉了 如:M() D() U() S( ...
- tp5增删改查
tp5框架增删改查,相对于以前的源生代码而言,非常简单,主要是为了熟练的应用框架,下面的代码主要是tp5框架的增删改查,让我们的更好 掌握框架. <?php namespace app\inde ...
- tp5 r3 一个简单的SQL语句调试实例
tp5 r3 一个简单的SQL语句调试实例先看效果核心代码 public function index() { if (IS_AJAX && session("uid&quo ...
- tp5.0初入
1.目录结构 |-application 应用目录 是整个网站的核心 |---|---index 前台目录 |---|-----|---controller 控制器 |---|-----|---mod ...
- ThinkPHP5.0框架开发--第1章 Tp5.0安装
ThinkPHP5.0框架开发--第1章 Tp5.0安装 第1章 Tp5.0 安装 ======================================================== 今 ...
随机推荐
- RabbitMQ学习之(一)_初步了解RabbitMQ、RabbitMQ的使用流程、为什么要使用RabbitMQ、RabbitMQ的应用场景
初识RabbitMQ RabbitMQ是一个在AMQP协议基础上实现的消息队列系统, 是一个消息代理.它的核心原理非常简单:接收和发送消息.你可以把它想像成一个邮局:你把信件放入邮箱,邮递员就会把信件 ...
- TCP/IP原理简述
TCP/IP与OSI TCP/IP工作在第4层,在TCP/IP协议簇中,有两个不同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议),它们分别承载不同的应用.TCP协议提供可靠的服务,UDP ...
- C++类中成员变量的初始化总结(转帖)
本文转自:C++类中成员变量的初始化总结 1. 普通的变量: 一般不考虑啥效率的情况下 可以在构造函数中进行赋值.考虑一下效率的可以再构造函数的初始化列表中进行. 1 class CA ...
- 为什么@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
Spring Boot会自动根据jar包的依赖来自动配置项目,例如当你项目下面有HSQLDB的依赖,Spring Boot会自动创建默认的内存数据库的数据源DataSource, 但我们使用Mybat ...
- Android执行shell命令 top ps
Android执行shell命令 一.方法 /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/ ...
- nxp的layerscape系列芯片中的rcw指定了一些什么信息
答:指定了一些可以配置的硬件信息(如可以配置uart相关的引脚功能).引导镜像(uboot)的读取地址以及从何种介质(flash,sd)启动系统的信息
- spring 概念理解
一.Spring的IoC(Inversion of Control).这是Spring中得有特点的一部份.IoC又被翻译成“控制反转”,也不知道是谁翻译得这么别扭,感觉很深奥的词.其实,原理很简单,用 ...
- Servlet3.0异步请求
在Servlet3.0之前,Servlet采用Thread-Per-Request的方式处理请求 即每次Http请求都有一个线程从头到尾负责处理 如果一个请求需要进行IO操作,比如访问数据库.调用第三 ...
- Sublime Text指南
转自: http://lucida.me/blog/sublime-text-complete-guide/ 摘要(Abstract) 本文系统全面的介绍了Sublime Text,旨在成为最优秀的 ...
- mkdir: 无法创建目录"": 没有那个文件或目录
# mkdir /data/backup/20181128 mkdir: 无法创建目录"/data/backup/20181128": 没有那个文件或目录 原因是data目录不存在 ...