我在Smarty 2模板中分配了一个变量。
{assign var="real_count" value="{$store_summary|@count}"}
{$real_count = settype ($real_count, 'integer')}
我的目标是将$real_count
的值加上65%。根据我正在使用的数据,我的$real_count
为3,因此计算出的值应为4.95(3 + 1.95)。
我正在尝试使用math
标记,但我显然遗漏了一些内容。
{math equation="x * y" x=$real_count y=0.65 format="%.2f"}
答案 0 :(得分:2)
如果您真的想在Smarty模板中执行此操作,可以像这样解决(略微简化):
{assign var="real_count" value="3"}
{math equation="x + (x * y)" x=$real_count y=0.65 format="%.2f"}
但是,我通常建议不要在模板中做太多的数学和其他逻辑。在大多数用例中,最好在应用程序中进行数学运算,然后在模板中显示结果。即使Smarty manual也同意我的意见:
由于使用了
math
,因此性能上的代价很高 phpeval()
函数。用PHP进行数学运算会更有效率 尽可能在脚本中进行数学计算并assign()
结果到模板。绝对避免重复math
函数调用,例如在section
循环内。