我想知道如何将变量传递给函数,该函数使用smarty php的registerPlugin()函数注册为插件
我是怎么做的。
我有smarty_get_data函数
function smarty_get_data($params, Smarty_Internal_Template $template)
{
// trying to use passed variable
echo 'passed var :: '.$params['doma'];
}
我要传递的变量
$doma = 'test var';
注册为插件
$smarty->registerPlugin('function', 'get_data', 'smarty_get_data', false, array('doma' => $doma));
输出为空白
传递了var ::
所以需要帮助我做错了什么!
答案 0 :(得分:0)
您无法将$doma
传递给registerPlugin
函数。调用函数get_data
时(模板中)需要传递它。
首先注册插件:
$smarty->registerPlugin('function', 'get_data', 'smarty_get_data', false);
然后在模板中调用带有数据的注册函数:
{get_data doma="some text"}
另外,请在此处查看该功能的文档:http://www.smarty.net/docs/en/api.register.plugin.tpl