{если} {еще} не работают должным образом в Smarty - PullRequest
4 голосов
/ 24 марта 2012

В моем шаблоне указан следующий код 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 ]

4 голосов
/ 24 марта 2012

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

{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}
1 голос
/ 25 марта 2012
{capture name="diff"}
    {datediff timestamp=$data_base.updated_date}
{/capture}

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

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

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

...