私の PHP アプリケーションでは、テンプレート化に Smarty を使用し、いくつかのカスタム関数を使用しています。以下の例では、関数名は "key" 属性を取る "text" です。この関数は、キーに基づいて文字列値を取得します
以下の例は、問題なく正常に動作します。
{text key='isearch+login_name'}
私がやろうとしているのは、値を属性に動的に渡すことです。以下のコードでは、変数 $plugin は dynmaci 値を持ち、置換する必要があります。
{text key='isearch+$plugin_plugin'}
上記のコードでは、正しい文字列値ではなく、「isearch+$plugin_plugin」として出力が得られます。
Smarty 関数の PHP 関数は次のとおりです。
function smarty_function_text($params, $smarty)
{
$key = $params['key'];
unset($params['key']);
$key = explode('+', $key);
return OW::getLanguage()->text($key[0], $key[1], $params);
}