0

私の質問はこれとほとんど同じように見えます設定ファイル内に変数を入れることは可能ですか?

言語を制御する構成ファイルがあります。また、フィードバック用に表示されるフィードバックdivがあります。

今、私はこのようなフィードバックを割り当てたいと思います:

$smarty->assign('feedback', 'the_age_of_user_' . $user->name . '_is_changed_to_' . $user->age . '_years');

nl.conf

the_age_of_user_%s_is_changed_to_%s_years=De leeftijd van gebruiker %s gewijzigd naar %s jaar

en.conf

the_age_of_user_%s_is_changed_to_%s_years=The age of user %s is changed to %s years

誰かが私がこれを達成する方法を知っていますか?または、構成ファイルに変数を割り当てるためのより良い解決策はありますか?

4

1 に答える 1

0

申し訳ありませんが、あなたが何を達成しようとしているのか完全には理解していません。

私たちのプロジェクトでは、同様の問題に対して次の解決策があります。

言語ファイル:

the_age_of_user_is_changed = The age of user {user} is changed to {year} years

左側に%sや変数がないことに注意してください。常に一定です。

オプション1:

  1. Smarty /コード割り当て: $smarty->assign("VARIABLE_TO_USE_IN_TEMPLATE", getLang('the_age_of_user_is_changed', array('user' => $user->name,'year' => $user->age));

  2. 次に、Smartyで、次のコードを使用できます。{$VARIABLE_TO_USE_IN_TEMPLATE}

関数getLangは、言語ファイルから文字列情報を読み取り、すべての{symbol}を対応するデータに置き換えます。

オプション2:

  1. テンプレートには、スマートなユーザースペース関数 {LANG key='the_age_of_user_is_changed' name=$user->name year=$user->age} があります。Langは、実際には前の例の関数getLangを呼び出しています。

  2. コードでは、ユーザーを割り当てる必要があります:$smarty->assign("user", $user);。その後、smartyはすべてを自分で行います。

于 2012-10-25T08:38:19.123 に答える