我想填写一个出生年份的选择框,年份从当前的-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? *}
答案 0 :(得分:1)
这是因为您将date_format
放在了step=-1
中。
在显示第一个值之前,请在部分中聪明地执行此步骤,因此该部分将像这样:
2000 1999年 1998年 ..