|  RSS订阅  |  加入收藏

thinkPHP5模版页面volist循环offset不能使用变量

在TP5模版中,用来输出循环数据的volist标签,offset属性只能使用数字常量,不能使用变量。而length可以使用变量。
摘要

有这样一个应用场景:当volist循环需要排除前面几个数据的时候,我们通常使用offset来操作。而假设前面要排除的数据是根据当前页面占位符来确定的,而需要排除的数据量就是个变量了。



官方手册说明

支持输出查询结果中的部分数据,例如输出其中的第5~15条记录

{volist name="list" id="vo" offset="5" length='10'}
{$vo.name}
{/volist}

根据手册,上述场景只需要将offset的值设置成$number这样一个变量,按说就能实现必须的效果了。然后当你尝试将offset设置成变量时,输出的内容没有按照预想的发展,而是从第一条记录开始输出,直到length的长度为止。就像根本没有设置offset一样。

此时如果尝试手动将offset设置成固定数值时,就能实现排除效果。而这个说明在官方手册上并没有标注。

同样length也没有说明其使用规则。经过测试length可以使用变量来限定数据条数。

如文章有用,给个赞助吧
  PHP    循环    ThinkPHP    
转载请注明出处,未经许可禁止商用!
发表评论
*依据《网络安全法》规定,您需实名认证后才能评论!