volist标签的一个小bug:mod控制记录行失误
2011-04-01 18:01
204 查看
前台做的页面用的表格,我开始想着用<volist>来控制,翻了翻手册,有下面这一段:
Mod 属性还用于控制一定记录的换行,例如:
于是我在我的页面里就这样写的:
结果页面很乱,我把mod的值给输出出来,结果是:1,2,3,4,0,1,2,3,4,0……
很奇怪是不?应该是从0开始的,怎么却从1开始了呢?
就看了下缓存:
这下就明了了,程序里面是先运行++$i,然后再运行的$mod=($i % 5)的,所以第一个的值会是1。
看一下标签定义类TagLibCx.class.php:
我把这两个的位置调一下,就OK了。
然后下载了2.1的,发现里面仍是这样。
Mod 属性还用于控制一定记录的换行,例如:
< volist name= "list" id= "vo" mod= "5" > { $vo.name} < eq name= "mod" value= "4" ><br/></eq> </ volist>
于是我在我的页面里就这样写的:
<volist name="photoes" id="photo" mod="5"> <eq name="mod" value="0"><tr></eq> /*这里是<td>的循环*/ <eq name="mod" value="4"></tr><eq> </volist>
结果页面很乱,我把mod的值给输出出来,结果是:1,2,3,4,0,1,2,3,4,0……
很奇怪是不?应该是从0开始的,怎么却从1开始了呢?
就看了下缓存:
<?php if(is_array($photoes)): $i = 0; $__LIST__ = $photoes;if( count($__LIST__)==0 ) : echo "" ;else: foreach($__LIST__ as $key=>$photo): ++$i;$mod = ($i % 5 )?><?php if(($mod) == "0"): ?><tr align="left"><?php endif; ?>
这下就明了了,程序里面是先运行++$i,然后再运行的$mod=($i % 5)的,所以第一个的值会是1。
看一下标签定义类TagLibCx.class.php:
$parseStr .= '++$'.$key.';'; $parseStr .= '$mod = ($'.$key.' % '.$mod.' )?>';
我把这两个的位置调一下,就OK了。
然后下载了2.1的,发现里面仍是这样。
相关文章推荐
- Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
- Thinkphp中volist标签中mod控制一定记录的换行BUG
- Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
- 【bug记录】<a>标签IE下无法响应
- 一步一个记录--简单的jquery轮播图,按钮状态控制,layer弹窗
- 记录一个启动失败的bug
- 一个奇怪BUG的记录(未根本解决)
- 记录一个使用HttpClient过程中的一个bug
- Python:通过自定义系统级快捷键来控制程序开始或停止记录日志(使用小技巧解决一个貌似无解的问题)
- Android记录一个setTextColor常见的一个bug
- 记录kernel lcd驱动 register_framebuffer中的一个bug
- win 7专业版下IE9的一个BUG,标签背景是黑色的
- C++实现堆排序并记录编程中遇到的一个bug(不要对无符号整形数在--的循环中采用>=0作为结束条件)
- 直接使用临时变量导致的一个bug记录
- 表单提交后分页页面标签POST实现 —— 一个小小的bug引发的思考
- css控制一个ul标签下的指定li标签样式
- pdo,mysql 中binlog日志记录的一个 bug
- 记录一个android SharedPreferences的bug
- 记录一个文件读取的Bug
- jmeter本身的一个bug记录