2016-04-04 40 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