Volist标签一般是和内置方法assign()搭配使用,将值从后台传到前台,是当下比较流行的一种传值方法

本文实例讲述了ThinkPHP模板循环输出Volist标签用法。分享给大家供大家参考,具体如下

在controller中,assign()方法是在Controller给View传值的函数:

    public function index()
{
//查找结果集
$data['news'] = Db::query('select * from news order by news_time desc limit 7 ');
//把结果集的索引换成自定义索引(id)
$data['news'] = $this->update_index1($data['news'],'id');
//传值到模板
$this->assign('data',$data);
//模板调用
return $this->fetch();
}

这时,值被传递到了模板,可以用Volost()标签调用:

                {volist name='data.news' id='vo'}
<div class="content">
<div class="tu"><img src="{$vo.news_pic}"></div>
<div class="title"><span>{$vo.news_title}</span></div>
<div class="neirong"><p>{:strlen($data['news'][$vo.id]['news_body'])<?$data['news'][$vo.id]['news_body']:substr($data['news'][$vo.id]['news_body'],0,200)}</p></div>
<div class="contentinfo"><span>{$vo.news_time}</span><span>xx条评论</span><span>xxx次阅读</span><span>{$vo.news_autuor}</span>
<a href=? class="quanwen">>>阅读全文</a></div>
</div>
{/volist}
 {volist name='data.news' id='vo'}详解:
    name(必须):要输出的数据模板变量,name='data.news'需要与操作中的模板赋值指定对应$data['news']
    id(必须):循环变量,可以任意指定
  
{}标签中默认只能输出vo数组中的元素的值,{vo.xx},在php中代表$data['news']['xx'],
{:}里面可以包含方法,方便用三元运算符判断值,例如{:isset($data['news'][$vo.id]['title'])?$data['news'][$vo.id]['title']:''} 另外:volist标签中还有这些属性,了解即可

    offset(可选):要输出数据的offset

    length(可选):输出数据的长度

    key(可选):循环的key变量,默认值为i

    mod(可选):对key值取模,默认为2

    empty(可选):如果数据为空显示的字符串

ThinkPhp5 中Volist标签的用法的更多相关文章

  1. thinkphp中volist标签

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

  2. html中meta标签及用法理解

    自己一直想成为高级前端开发工程师,而自学.奈何最近感觉自学收效甚微,一度迷茫. 不破不立,打算改变这样的状态. 春节后上班第一天,今年打算好好实现自己的前端梦想. 重新整理.总结前端技术. 废话,就不 ...

  3. SEO中H1标签的用法- 1

    在网上找了很多关于H1标签对SEO意义的资料,不可否认H1对SEO具有重大的意义,但是具体情况每个人有每个人的见解吧.这里主要根据网上搜索的资料,以及自己的一些经验整理出来的,但是本人毕竟不是专业SE ...

  4. HTML中pre标签的用法

    我们经常会在要保持文本格式的时候使用pre标签,比如当我们要展示源代码的时候,只要放一个pre标签,然后把源代码直接复制,粘贴,然后在页面上就可以保持好格式.不会像放在其它标签里那样,把换行和空格都自 ...

  5. html中embed标签的用法

    (一).基本语法: embed src=url 说明:embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3等等,Netscape及新版的IE 都支持.url为音频或视 ...

  6. Mybatis中trim标签的用法

    select * from t_user <trim prefix="WHERE" prefixOverrides="and"> <if te ...

  7. thinkPHP5.0 volist标签理解

    {volist name="list" id="vo" offset="5" length="10"} .... {/v ...

  8. THINKPHP5 volist标签循环不能设置循环变量为$i

    在thinkphp5的volist标签中不要用$i作为id,举个简单例子 控制器这样写 模板这样写 结果是 这很令人费解啊.然后换一个循环变量看看 循环正常了,看来这个id这里设置循环变量的时候 不能 ...

  9. html中a标签的常见用法

    html中a标签的常见用法 一.总结 一句话总结: a.页面跳转 b.使用锚点定位 c.下载文件 二.html中<a>标签的用法 转自或参考:html中<a>标签的用法http ...

随机推荐

  1. multiprocessing 方法解析:

    以上是关于进程池的使用,截下来开始介绍如何使用多进程,由于multiprocessing 实现比concurrent.futures 实现更加底层这里还是推荐大家使用concurrent.future ...

  2. CSS 美化网页元素

    一.为什么使用CSS 1.有效的传递页面信息 2.使用CSS美化过的页面文本,使页面漂亮.美观,吸引用户 3.可以很好的突出页面的主题内容,使用户第一眼可以看到页面主要内容 4.具有良好的用户体验 二 ...

  3. C# LINQ学习笔记四:LINQ to OBJECT之操作文件目录

    本笔记摘抄自:https://www.cnblogs.com/liqingwen/p/5816051.html,记录一下学习过程以备后续查用. 许多文件系统操作实质上是查询,因此非常适合使用LINQ方 ...

  4. 获取redis指定实例中所有的key

    需求:获取redis指定的实例中所有的key的名字. 千万不要使用keys *,可以使用scan命令的递归方式获取. 以下给出自己写的脚本,经过测试效果还可以. db_ip=5.5.5.101 db_ ...

  5. vjudge 棋盘

    原题目链接:https://vjudge.net/contest/331118#problem/B 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放 ...

  6. 数据预处理 | 使用 Pandas 统一同一特征中不同的数据类型

    出现的问题:如图,总消费金额本应该为float类型,此处却显示object 需求:将 TotalCharges 的类型转换成float 使用 pandas.to_numeric(arg, errors ...

  7. shell脚本执行sql命令

    参考:https://www.cnblogs.com/xingchong/p/11698237.html

  8. PYthon之路Day12

    生成器 核心:生成器的本质就是一个迭代器 程序员自己写的一种迭代器 作用:节省空间 生成器可以使用for进行遍历 生成器编写方式: 基于函数编写 def func():    print('这是一个函 ...

  9. C语言链表总结(创建,排序,增加,删除)

    #include <stdio.h>#include <stdlib.h> typedef struct NODE{ int data ; struct NODE * pNex ...

  10. 【Linux】解决Linux服务器内存不足问题

    在Linux服务器上使用Jmeter进行压测的时候,遇到了一个错误: 根据这里的提示: Java HotSpot(TM) -Bit Server VM warning: INFO: os::commi ...