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. 使用ESLint+Prettier来统一前端代码风格

    Prettier 简单使用 ESLint 与 Prettier配合使用 首先肯定是需要安装 prettier ,并且你的项目中已经使用了 ESLint ,有 eslintrc.js 配置文件. npm ...

  2. 链表问题----删除倒数第K个节点

    在单链表和双链表中删除倒数第K个节点 分别实现两个函数,一个可以删除单链表中的倒数第K个节点,一个可以删除双链表中的倒数第k 个节点,要求时间复杂度是 O(N),空间复杂度是 O(1). [解析] 基 ...

  3. 简单scrapy爬虫实例

    简单scrapy爬虫实例 流程分析 抓取内容:网站课程 页面:https://edu.hellobi.com 数据:课程名.课程链接及学习人数 观察页面url变化规律以及页面源代码帮助我们获取所有数据 ...

  4. MyBatis的手动映射与模糊查询

    一.手动映射 当实体类属性与数据库字段名不同时,无法自动映射,导致查询出空值,这时候可以使用手动映射 在select节点添加resultMap属性与resultMap节点建立关系

  5. Linux下tomcat端口被占用

    首先查看占用端口的程序 netstat -alnp | grep 8080 然后出现 tcp6 2 0 :::8080 :: LISTEN 1392/java 杀死端口号 kill -9 1392(进 ...

  6. SAM的应用及例题

    专门开一个帖子记录一下自己在学习SAM时做的题,并总结一下做法 1.LCS https://www.cnblogs.com/wenci/p/10432932.html 这道题是要求对两个字符串查找最长 ...

  7. python 深浅copy总结

    总结: ''' 总结:假设l1为原数据,l2为deepcopy后的数据: 1.浅copy,只能改变第一层的内存地址(不可变数据类型除外). 2.深copy,能够改变第一层和第二层的内存地址(不可变数据 ...

  8. 0005 修改Django工程名

    写框架非常耗时间,把框架写好以后,经测试稳定的框架,需要保存下来,以后有工程需要,直接更改工程名即可. 01 右键点击工程名,点击Refactor/Rename 02 选择更改工程名 03 关闭PyC ...

  9. Java selenium下拉滚动页面

    Selenium强大之处在于,可以操作模拟键盘和点击页面的任何结构,本文对于Selenium的视图滚动操作方法进行解释. 1.可以滑动页面到最底端: //设置本地ChromDrive驱动路径,改成你自 ...

  10. CF399B Red and Blue Balls

    题目 CF399B 洛谷RemoteJudge 思路 很容易发现,栈中靠上的蓝色球的出栈,对它下方的蓝色球没有影响. 举个例子: 第一步中靠上的蓝色球在第三步出栈了,这一过程对它下面的蓝色球(即第一步 ...