{если}{еще} не работают должным образом в Smarty

У меня есть следующий смарт-код на моем шаблоне

{capture name="diff"}
    {datediff timestamp=$data_base.updated_date}
{/capture}

{$smarty.capture.diff} | {$smarty.const.UPDATE_BLOCK_SECONDS}

{if $smarty.capture.diff > $smarty.const.UPDATE_BLOCK_SECONDS}
    enable update
{else}
    disable update
{/if}

Когда я печатаю обе переменные $smarty.capture.diff а также $smarty.const.UPDATE_BLOCK_SECONDSони выводят правильное значение (например, 98969 и 86400), но оператор {if} не работает и всегда выводит значение "отключить обновление"

2 ответа

Пожалуйста, попробуй

{if 0+$smarty.capture.diff > 0+$smarty.const.UPDATE_BLOCK_SECONDS}
  enable update
{else}
  disable update
{/if}

или же

{if (int)$smarty.capture.diff > (int)$smarty.const.UPDATE_BLOCK_SECONDS}
  enable update
{else}
  disable update
{/if}
{capture name="diff"}
    {datediff timestamp=$data_base.updated_date}
{/capture}

содержит пробелы.

{capture name="diff"}{datediff timestamp=$data_base.updated_date}{/capture}

может быть то, что вы ищете.

Другие вопросы по тегам