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标签用法简介
通常volist标签多用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,对此可以直接使用volist标签进行输出. 在控制器中首先对模版赋值,如下例所示: $User = M('User'); $list = $User->limit(10)->select(); $this->assign('list',$list); 在模版定义如下,循环输出用户的编号和姓名: <volist name="list" id=&q
-
Thinkphp的volist标签嵌套循环使用教程
本文较为详细的对ThinkPHP的volist标签嵌套的用法阐述如下: 首先,在Thinkphp开发手册中,有关于<volist>标签嵌套的解释说明.如下: 标签嵌套: 模板引擎支持标签的多层嵌套功能,可以对标签库的标签指定可以嵌套. 系统内置的标签中,volist(及其别名iterate).switch.if.elseif.else.foreach.compare(包括所有的比较标签).(not)present.(not)empty.(not)defined等标签都可以嵌套使用.例如: &l
-
ThinkPHP模板循环输出Volist标签用法实例详解
本文实例讲述了ThinkPHP模板循环输出Volist标签用法.分享给大家供大家参考,具体如下: volist 标签用于在模板中循环输出数据集或者多维数组. volist 标签 在模块操作中,select() 方法返回的是一个二维数组,可以用 volist 直接输出: <volist name="list" id="vo"> 用 户 名:{$vo['username']}<br /> 电子邮件:{$vo['email']}<br /&g
-
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>标签实现三级循环代码,具体操作步骤如下: 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标签嵌套循环输出多维数组的方法
本文实例讲述了ThinkPHP模板Volist标签嵌套循环输出多维数组的方法.分享给大家供大家参考,具体如下: ThinkPHP 中对 volist 标签嵌套使用可实现多维数组的输出. volist 嵌套使用 一般的二维数组,可以用 volist 标签直接循环输出.对于多维数组,则需要对其中的数组成员再次使用 volist 标签嵌套循环输出. 构建一个多维数组: $food = array(); $food[0]['fruits'][0]['fruits1'] = '苹果1'; $food[0]
-
thinkPHP中volist标签用法示例
本文实例讲述了thinkPHP中volist标签用法.分享给大家供大家参考,具体如下: 属性: name(必须) 要输出的数据模板变量 id(必须) 循环变量 offset(可选) 要输出数据的offset length(可选) 输出数据的长度 key(可选) 循环的key变量,默认值为i mod(可选) 对key值取模,默认为2 empty(可选) 如果数据为空显示的字符串 通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出. $User = M('Use
-
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
对于用过smarty做过php开发的朋友来说,应该都知道在smarty模板里面判断foreach循环是否是最后一个可以用$smarty.foreach.name.last来判断循环是否到了最后一条记录,在thinkphp的模板中常见的循环是volist,但是volist的各种属性中并没有直接判断最后一条记录的属性,那么在thinkphp中如何判断呢?下面的代码可以实现ThinkPHP中volist断最后一条记录. 举例代码如下,读者可以自己去体会. <volist name='lists' id
-
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模板IF标签用法详解
ThinkPHP的IF标签可以用来定义复杂的条件判断,例如: <if condition="($name eq 1) OR ($name gt 100) "> value1 <elseif condition="$name eq 2" />value2 <else /> value3 </if> 注意:在condition属性中可以支持eq等判断表达式 ,同上面的比较标签,但是不支持带有">"
随机推荐
- Python脚本实时处理log文件的方法
- RPM方式安装MySQL5.6源码
- jQuery插件datatables使用教程
- js复制网页内容并兼容各主流浏览器的代码
- 详解SpringMVC重定向传参数的实现
- MySQL 5.7双主同步部分表的实现过程详解
- Python类的定义、继承及类对象使用方法简明教程
- 十二、脚本元素、指令和预定义变量
- C++中用substr()函数消除前后空格的解决方法详解
- javascript单例模式的简单实现方法
- 基于promise.js实现nodejs的promises库
- PHP定时更新程序设计思路分享
- Python中的多行注释文档编写风格汇总
- Android中实现图文并茂的按钮实例代码
- JavaScript中this的9种应用场景及三种复合应用场景
- 在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
- 微博API常用方法总结(必看篇)
- Python使用Flask框架获取当前查询参数的方法
- Python实现的生成自我描述脚本分享(很有意思的程序)
- spring-mybatis与原生mybatis使用对比分析