从TPL文件调用智能插件函数时出错



创建了一个简单的智能插件,其中包括以下代码

/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     function.assignmenu.php
 * Type:     function
 * Name:     assign
 * Purpose:  assign a value to a template variable
 * -------------------------------------------------------------
 */
functionality-to-smarty-w-plugins/
function smarty_function_assignmenu(Smarty_Internal_Template $smarty)
{
    //$template->assign($params['var'], $params['value']);
    $smarty->assign('test', '123');
}

,此函数从模板文件调用为{tiensmenu}{test}

访问页面时,它将返回以下错误

我正在将Smarty 3与YII2一起使用。任何帮助都将受到赞赏

智能插件功能期望数组作为第一个参数。因此,定义应为

function smarty_function_assignmenu($paramArray,Smarty_Internal_Template $smarty)
{
    $smarty->assign('test', '123');
}

即使没有参数要通过,函数定义也应包含一个数组作为第一个参数。

最新更新