Дата условно для более чем теста, если более 2 лет

Не использовали EE через некоторое время и заставляли замораживать мозг на лучший способ сделать дату условной.

У меня есть настраиваемое поле даты для DOB. Я хочу условно показать предметы, если человек/ребенок старше 2 лет.

Я что-то думаю по линии:

{if ("{current_time format='%U'}" - "{child_dob format='%U'}") > '63113904'  }
    Do this
{if:else}
    Do that
{/if}

Где это будет протестировать временную метку Unix? Или я в отъезде?

0
nl ja de

1 ответы

Вы на правильном пути, но никаких привязок и форматирования не требуется; date будут выдавать временные метки без форматирования, и сравнения могут быть сделаны правильно между целыми типами. Таким образом, вы можете использовать более простой:

{if (current_time - child_dob) >= 63072000}
    Do this
{if:else}
    Do That
{/if}
2
добавлено
Математика в условных выражениях доступна с версия 2.9.0 в июле от 2014 года .
добавлено автор littlecharva, источник
Время обновления! ;)
добавлено автор littlecharva, источник
Потрясающие! Я дам это испытание утром!
добавлено автор Michael Manzke, источник
Просто проверить это на данный момент, кажется, не работает, хотя я прав, думая, что EE не делает математику в шаблоне из коробки?
добавлено автор Michael Manzke, источник
Ах, вот почему. Мы находимся на более ранней версии. Используется плагин maths и теперь работает нормально. Благодаря!
добавлено автор Michael Manzke, источник