4

我的模板上有以下 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} 语句不起作用并且总是打印值“禁用更新”

4

2 回答 2

4

请试试

{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}
于 2012-03-24T09:49:00.370 回答
1
{capture name="diff"}
    {datediff timestamp=$data_base.updated_date}
{/capture}

包含空格。

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

可能是你正在寻找的。

于 2012-03-25T15:09:57.397 回答