0

我在 Smarty 2 模板中分配了一个变量。

{assign var="real_count" value="{$store_summary|@count}"}
{$real_count = settype ($real_count, 'integer')}

我的目标是增加 65% 的价值$real_count。对于我正在使用的数据,我的 a$real_count为 3,因此计算值应为 4.95 (3 + 1.95)。

我正在尝试使用该math标签,但是我显然遗漏了一些东西。

{math equation="x * y" x=$real_count y=0.65 format="%.2f"}
4

1 回答 1

2

如果你真的想在 Smarty 模板中这样做,你可以这样解决它(稍微简化):

{assign var="real_count" value="3"}
{math equation="x + (x * y)" x=$real_count y=0.65 format="%.2f"}

但是,我通常建议不要在模板中做太多的数学和其他逻辑。在大多数用例中,最好在应用程序中进行数学运算,然后在模板中显示结果。甚至Smarty 手册也同意我的看法:

math由于使用了 php 函数,因此在性能上是一个昂贵的eval()函数。在 PHP 中进行数学计算效率更高,因此尽可能在脚本中进行数学计算并将assign() 结果写入模板。绝对避免重复math 的函数调用,例如在section循环内。

于 2015-06-09T20:30:04.843 回答