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可以使用变量来限定数据条数。

文章来源https://www.anji66.net/article/id/51.html

原文地址:https://www.cnblogs.com/wangyongx/p/14299209.html