节循环以错误的索引/值开始

时间:2019-02-08 10:01:57

标签: smarty

我想填写一个出生年份的选择框,年份从当前的-18年开始,然后倒退100年。循环以某种方式从2000开始而不是2001。

当我使用smarty.now函数并将其减去18年后,将得出2001年的结论。

但是当我在段循环和步骤-1中使用相同的函数时,循环将从2000开始而不是2001开始。

我可以在section循环中使用-17,但是我想理解为什么即使文档中start的默认值为0,这里的偏移量似乎还是为1。

{$smarty.now|date_format:"%Y"-18}
{*  Result is 2001 as expected *}
<br>
{section name=bar loop=$smarty.now|date_format:"%Y"-18 max=100 step=-1}
{$smarty.section.bar.index}
{/section}
{*  Loop starts with 2000,1999... why? *}

1 个答案:

答案 0 :(得分:1)

这是因为您将date_format放在了step=-1中。

在显示第一个值之前,请在部分中聪明地执行此步骤,因此该部分将像这样:

2000 1999年 1998年 ..

相关问题