2016-04-04 13 views
0

に変数を渡すためにどのように私はSmartyのPHPの()関数はSmartyのPHPは:registerPlugin機能

どのようにやっているregisterPluginでプラグインとして登録していた機能するように、私は、変数を渡すことができる方法を知りたいです。

iはプラグイン

$smarty->registerPlugin('function', 'get_data', 'smarty_get_data', false, array('doma' => $doma)); 

出力

空白であるよう

$doma = 'test var'; 

レジスタを通過したいsmarty_get_data機能

function smarty_get_data($params, Smarty_Internal_Template $template) 
{ 
    // trying to use passed variable 
    echo 'passed var :: '.$params['doma']; 
} 

変数を有します

が渡されましたvar ::

何が間違っているのかを助けてください!

答えて

0

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