0

プロジェクトで UTF-8 文字サポートを実装しています。テンプレート ツール キットを使用します。テンプレートの 1 つに、テキストを翻訳できないハード コーディングされたドロップダウン コードがあります。ここにコードスニペットがあります。

<select id="sub_select" name="sub_select">
[% sub_options = [
- { value => 'last', choice =>'translate.$lang.L_Submission' },
- { value => 'all', choice => 'translate.$lang.A_Submissions' },
];
%]
[% INCLUDE dropdown.tmpl
options = sub_options
selected = sub_select
%]
</select>

dropdown.tmpl は、アプリケーション全体でドロップダウンを作成するために使用される集中ファイルです。
新しいタイプの選択肢をサポートする新しい dropdown_UTF8.tmpl を自由に作成するか、新しいロジックをこの dropdown.tmpl に組み込むことができます。現在、既存のdropdown.tmplでこれを試しているとき、翻訳されたデータが表示されることを期待しているため、translate.$lang.A_Submissionsとtranslate.$lang.L_Submissionを選択肢として取得しています。誰でもこれで私を助けることができますか?

ドロップダウン.tmpl:

[% valuekey = valuekey || 'value'; 
   choicekey = choicekey || 'choice'; 
   FOREACH opt = options;
     - value = opt.$valuekey.defined ? valuekey_prefix _ opt.$valuekey : valuekey_prefix _ opt
     - choice = opt.$choicekey or value
%]
[% value = value %]
<option value="[% value %]"[% selected="selected" IF value == selected %]>[% choice %]</option>
[% END -%]
4

1 に答える 1

0

何かが欠けていない限り、ここでの問題はchoice、これらのハッシュの値を一重引用符で囲んでいるだけだと思います。一重引用符は、定義により、含まれているものが補間されないという結果になります。

試す:

[%  sub_options = [
        - { value => 'last', choice => translate.$lang.L_Submission },
        - { value => 'all',  choice => translate.$lang.A_Submissions },
    ];
%]
于 2013-04-29T02:38:52.187 に答える