2016-04-04 41 views
0

我想知道如何传递变量的函数会我注册为插件与registerPlugin Smarty的PHP()函数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

您无法将$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