Я назначил переменную в моем шаблоне Smarty 2.
{assign var="real_count" value="{$store_summary|@count}"}
{$real_count = settype ($real_count, 'integer')}
Моя цель — прибавить 65% к стоимости $real_count
, С данными, с которыми я работаю, у меня есть $real_count
3, поэтому расчетное значение должно быть 4,95 (3 + 1,95).
Я пытаюсь использовать math
тег, однако я явно что-то упустил.
{math equation="x * y" x=$real_count y=0.65 format="%.2f"}
Если вы действительно хотите сделать это в шаблоне Smarty, вы можете решить это следующим образом (немного упрощенно):
{assign var="real_count" value="3"}
{math equation="x + (x * y)" x=$real_count y=0.65 format="%.2f"}
Тем не менее, я бы не советовал делать слишком много математики и другой логики в шаблоне. В большинстве случаев было бы лучше сделать математику в приложении, а затем отобразить результат в шаблоне. Даже Smarty инструкция согласен со мной
math
является дорогой функцией в производительности из-за ее использования
PHPeval()
функция. Делать математику в PHP гораздо эффективнее, поэтому
по возможности делайте математические вычисления в скрипте иassign()
результаты к шаблону. Определенно избегайте повторенияmath
вызовы функций, например, внутриsection
петли.
Других решений пока нет …