volist标签的一个小bug:mod控制记录行失误

前台做的页面用的表格,我开始想着用<volist>来控制,翻了翻手册,有下面这一段:

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的,发现里面仍是这样。

转载于:https://www.cnblogs.com/world2th/archive/2011/04/01/2002455.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值