Как в Smarty добавить PHP код?

Хотел бы добавить код {php}{/php} не получается

В Смарти дублированы многие функции PHP

Не самая лучшая идея.
https://www.smarty.net/docsv2/ru/language.function.php.tpl
или другим путем, любая функция php может быть использована в смарти

{первый_параметр_функции|функция:второй_параметр:третий_параметр}

Эти тэги запрещены в конфигурации Smarty в CS-Cart

1 лайк

Тоже возникла такая потребность, нашел в документации в исходниках сайта:
The {php} tag is disabled by default. Enable with $smarty->allow_php_tag=true.

Не подскажите, где активировать настройку?

можно и без этого тэга.
пишете функцию, которая обрабатывает входные данные и возвращает требуемое значение.
в карте в смарти можно использовать любую php функцию

function myfunc($param1, $param2, $param3)
{
return $param1+$param2+$param3;
}

в смарти:

{$v=$param1|myfunc:$param2:$param3}
1 лайк

Поиск по файлам ничего не дал. Видимо, она в конфиге нигде не используется

ЛУчше используйте решение из поста выше

Добрый день.

Подскажите, в каком файле вы добавляете функцию myFunc, чтобы она работала как вы описываете?
Если добавить в my_changes, то в php приходится обращаться к ней так:

$result = Tygh::$app['addons.my_changes']->myFunc($rorder_id);

Как это сделать в smarty не очень понятно.

{$rorder_id|myFunc}

Alex_vp расписал же.

Как вариант

app/addons/my_changes/func.php

Спасибо, действительно добавления в my_changes достаточно

2 лайка