В моем PHP-приложении я использую Smarty для создания шаблонов и некоторых пользовательских функций. В приведенном ниже примере имя функции — «текст», которое принимает атрибут «ключ». Эта функция получит строковое значение на основе ключа
Приведенный ниже пример отлично работает без проблем.
{text key='isearch+login_name'}
Я пытаюсь динамически передать значение атрибуту. В приведенном ниже коде переменная $plugin будет иметь значение dynmaci и ее нужно заменить.
{text key='isearch+$plugin_plugin'}
С приведенным выше кодом я получаю вывод как «isearch+$plugin_plugin», а не правильное строковое значение.
Функция PHP для функции Smarty приведена ниже.
function smarty_function_text($params, $smarty)
{
$key = $params['key'];
unset($params['key']);
$key = explode('+', $key);
return OW::getLanguage()->text($key[0], $key[1], $params);
}