Фильтр math
Описание
Фильтр math позволяет выполнять несложные арифметические операции прямо в шаблоне.
Список поддерживаемых операций:
- сложение с числом, например: {$var|math:'+3'}, то есть получим результат $var+3
- умножение на число, например: {$var|math:'*3'}
- деление на число, например: {$var|math:'\3'}
- геометрические функции, такие как sin, cos, tan, atan, asin, acos.
- другие математические функции, такие как exp, log, ln, abs, div и т.д.
Подробный список функции см. в классе WactMath.
Если фильтр применен к DBE, а не к константному значению, то в параметрах также можно использовать DBE, например: {$price|math=«*{$amount}»}
Также можно комбинировать операции, например: {$var|math:'\3 + 100'}
Фильтр Math поддерживает любое количество параметров. Все они будут включены в единое математическое выражение, например: {$val|math:«/»,val2,«*100»|number:3}
Синтаксис
{$var|math:"expression1"[,expressionN]}
Параметры
- expression1 - математическое выражение.
- expressionN - любое количество параметров, которые также будут добавлены к первоначальному выражению.
Отрабатывать будет все выражение, полученнное сложением всех параметров фильтра.
Пример использования
Рабочие примеры использования math фильтра можно найти в папке limb/wact/examples/filters/data/.
Шаблон math.html
{$"1 + 3"|}
{$var|math:'+3'}
{$var|math:'*4+10'}
Поставим некоторые данные в шаблон:
$template = new WactTemplate('math.html'); $template->set('var', 4); $template->display();
Получим:
3 7 26

Обсуждение