Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
本文实例讲述了Thinkphp中volist标签mod控制一定记录的换行BUG解决方法。分享给大家供大家参考。具体方法如下:
一、BUG描述:
存在于thinkphp 2.0 版本
Mod属性还用于控制一定记录的换行,例如:
<volist name="list" id="vo" mod="5" >
{$vo.name}
<eq name="mod" value="4"><br/></eq>
</volist>
上述文字节选自官方手册
实际的执行结果是:
第一行 4个记录(缺少一个)
第二行及后面行才是 5个记录
二、修改意见:
ThinkPHP\Lib\Think\Template\TagLib\TagLibCx.class.php
line 107和line 108 位置互换一下
原代码:
$parseStr .= '++$'.$key.';';
$parseStr .= '$mod = ($'.$key.' % '.$mod.' )?>';
修改后:
$parseStr .= '$mod = ($'.$key.' % '.$mod.' );';
$parseStr .= '++$'.$key.'?>';
希望本文所述对大家的ThinkPHP框架程序设计有所帮助。
相关推荐
-
ThinkPHP采用<volist>实现三级循环代码实例
本文以实例描述了ThinkPHP采用<volist>标签实现三级循环代码,具体操作步骤如下: 1. 三级循环需要三维数组,实现代码如下: function MakeTree($pid,$level) { $map['pid'] = $pid; $map['level'] = $level; $result = $this->where($map)->order('rank ASC')->findall(); if($result){ foreach ($result as $
-
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
对于用过smarty做过php开发的朋友来说,应该都知道在smarty模板里面判断foreach循环是否是最后一个可以用$smarty.foreach.name.last来判断循环是否到了最后一条记录,在thinkphp的模板中常见的循环是volist,但是volist的各种属性中并没有直接判断最后一条记录的属性,那么在thinkphp中如何判断呢?下面的代码可以实现ThinkPHP中volist断最后一条记录. 举例代码如下,读者可以自己去体会. <volist name='lists' id
-
Thinkphp中的volist标签用法简介
通常volist标签多用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,对此可以直接使用volist标签进行输出. 在控制器中首先对模版赋值,如下例所示: $User = M('User'); $list = $User->limit(10)->select(); $this->assign('list',$list); 在模版定义如下,循环输出用户的编号和姓名: <volist name="list" id=&q
-
ThinkPHP模板自定义标签使用方法
使用模板标签可以让网站前台开发更加快速和简单,使用过dedecms.phpcms等内容管理系统的人应该都知道,cms的前台都是使用模板标签来调用数据.以调用文章列表为例: dedecms可以写成: <ul> {dede:arclist row='10' orderby='id desc' titlelen=''} <li>[field:title]</li> {/dede:arclist} </ul> phpcms可以写成: <ul> {pc:c
-
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
本文实例讲述了ThinkPHP模板Volist标签嵌套循环输出多维数组的方法.分享给大家供大家参考,具体如下: ThinkPHP 中对 volist 标签嵌套使用可实现多维数组的输出. volist 嵌套使用 一般的二维数组,可以用 volist 标签直接循环输出.对于多维数组,则需要对其中的数组成员再次使用 volist 标签嵌套循环输出. 构建一个多维数组: $food = array(); $food[0]['fruits'][0]['fruits1'] = '苹果1'; $food[0]
-
Thinkphp的volist标签嵌套循环使用教程
本文较为详细的对ThinkPHP的volist标签嵌套的用法阐述如下: 首先,在Thinkphp开发手册中,有关于<volist>标签嵌套的解释说明.如下: 标签嵌套: 模板引擎支持标签的多层嵌套功能,可以对标签库的标签指定可以嵌套. 系统内置的标签中,volist(及其别名iterate).switch.if.elseif.else.foreach.compare(包括所有的比较标签).(not)present.(not)empty.(not)defined等标签都可以嵌套使用.例如: &l
-
thinkPHP的Html模板标签使用方法
注意:在使用如<html:select />等标签之前,必须要引入TP的标签库:<tagLib name="html" /> 如果我们现在需要一个select下拉菜单项,那么在ThinkPHP中我们可以这样做. 1.在Action控制器的方法中获取数据,举例如下: 复制代码 代码如下: public function mylist(){ $user = new Model('User'); $list = $user->getField('id,usern
-
thinkPHP中volist标签用法示例
本文实例讲述了thinkPHP中volist标签用法.分享给大家供大家参考,具体如下: 属性: name(必须) 要输出的数据模板变量 id(必须) 循环变量 offset(可选) 要输出数据的offset length(可选) 输出数据的长度 key(可选) 循环的key变量,默认值为i mod(可选) 对key值取模,默认为2 empty(可选) 如果数据为空显示的字符串 通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出. $User = M('Use
-
ThinkPHP模板IF标签用法详解
ThinkPHP的IF标签可以用来定义复杂的条件判断,例如: <if condition="($name eq 1) OR ($name gt 100) "> value1 <elseif condition="$name eq 2" />value2 <else /> value3 </if> 注意:在condition属性中可以支持eq等判断表达式 ,同上面的比较标签,但是不支持带有">"
-
ThinkPHP模板循环输出Volist标签用法实例详解
本文实例讲述了ThinkPHP模板循环输出Volist标签用法.分享给大家供大家参考,具体如下: volist 标签用于在模板中循环输出数据集或者多维数组. volist 标签 在模块操作中,select() 方法返回的是一个二维数组,可以用 volist 直接输出: <volist name="list" id="vo"> 用 户 名:{$vo['username']}<br /> 电子邮件:{$vo['email']}<br /&g
随机推荐
- 解决XP无法停止‘通用卷’的方法合集
- SpringMVC与Mybatis集合实现调用存储过程、事务控制实例
- java原装代码完成pdf在线预览和pdf打印及下载
- Java中ArrayList类的使用方法
- 用js写“算24”游戏的思路分析与实现代码
- w3c编程挑战_初级脚本算法实战篇
- ASP利用XMLHTTP实现表单提交以及cookies的发送的代码
- Mysql Explain 详细介绍
- ZF等常用php框架中存在的问题
- 详谈js遍历集合(Array,Map,Set)
- 硬盘分区之整数G计算公式 附在线计算工具 原创
- 动态改变gridview列宽度函数分享
- Android自定义VIew实现卫星菜单效果浅析
- java基础学习笔记之类加载器
- C++命名空间实例解析
- django模板语法学习之include示例详解
- 浅谈vue-router 路由传参的方法
- python实现校园网自动登录的示例讲解
- Python实现输出某区间范围内全部素数的方法
- 在Windows系统上使用压缩归档文件安装MySQL的步骤