Добавьте процент к значению переменной в шаблоне Smarty 2

Я назначил переменную в моем шаблоне 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"}

1 ответ

Решение

Если вы действительно хотите сделать это в шаблоне 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 петли.

Другие вопросы по тегам