У меня небольшая проблема с расширением smarty для yii2.
Я создал новую функцию smarty и добавил код в этот файл:
бэкенд / продавец / yiisoft / yii2-всезнайка / SRC / Extension.php
public function __construct($viewRenderer, $smarty)
{
//other code
/* CUSTOM FUNCTION REGISTER */
$smarty->registerPlugin('function', 'test', [$this, 'functionTest']);
}
//this is the custom function
public function functionTest($params, $template){
return "Test custom funcion";
}
И я могу использовать эту пользовательскую функцию в своем шаблоне, как это {test}
, и все работает отлично.
Сегодня я обновил yii2 до версии 2.0.20, и, очевидно, файл Extension.php был заменен, поэтому я больше не могу получить доступ к пользовательской функции.
Мой вопрос: как я могу добавить пользовательскую функцию для smarty в yii2?
Я установлю массив конфигурации следующим образом:
//this is in backend/config/main.php
'view' => [
'renderers' => [
'tpl' => [
'class' => 'yii\smarty\ViewRenderer',
'pluginDirs' => ['@backend/saSmartyPlugin'],
'widgets' =>[
'functions' => [['test' => 'test'], ],
],
//'cachePath' => '@runtime/Smarty/cache',
],
],
],
и в папку saSmartyPlugin я вставляю свой test.php
файл следующим образом:
<?php
class Test{
function functionTest($params, $template){
return "Test custom funcion";
}
}
Но я получаю эту ошибку:
Smarty: неопределенный класс 'test' в классе шаблона регистра