2017-04-17 3 views
0

コードエラー

/* 
* Smarty plugin 
* ------------------------------------------------------------- 
* File:  function.assignmenu.php 
* Type:  function 
* Name:  assign 
* Purpose: assign a value to a template variable 
* ------------------------------------------------------------- 
*/ 
functionality-to-smarty-w-plugins/ 

function smarty_function_assignmenu(Smarty_Internal_Template $smarty) 
{ 
    //$template->assign($params['var'], $params['value']); 
    $smarty->assign('test', '123'); 
} 

そして {assignmenu} {試験}

ながらように、テンプレートファイルから呼び出されたこの関数の下で単純なSmartyのプラグインを作成しますページにアクセスすると、次のエラーが返されます。 引数1は、smarty_function_assignmenu()に渡され、Smarty_Internal_Templateのインスタンスでなければなりません。/var/www/myproject/runtime/Smarty/compile/cda404646b2153274a9e77f736531c5dc7e6f91c_0.file.sample.tpl .php 31行目とd efined

私はyii2でsmarty 3を使用しています。任意のヘルプがあります

答えて

0

Smartyプラグイン関数は配列を最初のパラメータとして期待しています。だから、定義は渡すパラメータがない場合でも、関数定義は、最初のパラメータとして配列を含める必要があり

function smarty_function_assignmenu($paramArray,Smarty_Internal_Template $smarty) 
{ 

    $smarty->assign('test', '123'); 
} 

でなければなりません。

関連する問題