Цикл сечения начинается с неверного индекса / значения - PullRequest
0 голосов
/ 08 февраля 2019

Я хотел бы заполнить поле выбора для года рождения годами, начиная с текущего года -18, а затем 100 лет назад.Каким-то образом цикл начинается с 2000, а не с 2001 года.

Когда я использую функцию smarty.now и вычитаю из нее 18 лет, это приведет к 2001 году, что правильно.

Но когда я используюта же функция в цикле секций и шаг -1, цикл начнется с 2000, а не 2001.

Я мог бы использовать -17 в цикле секций, но я хотел бы понять, почему, кажется, естьздесь смещение 1, даже если значение по умолчанию для запуска равно 0 в соответствии с документацией.

{$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 голосов
/ 13 февраля 2019

Это потому, что в вашем date_format вы положили step = -1.

Smarty выполните этот шаг в разделе перед отображением первого значения.Итак, раздел будет таким:

2000 1999 1998 ..

...