smarty php:如何在registerPlugin函数中传递变量

时间:2016-04-04 05:35:21

标签: php smarty3

我想知道如何将变量传递给函数,该函数使用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 ::

所以需要帮助我做错了什么!

1 个答案:

答案 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