【问题标题】:How to pass my dropdown options to show the UTF-8 characters in template tool kit如何传递我的下拉选项以在模板工具包中显示 UTF-8 字符
【发布时间】:2013-04-18 11:52:33
【问题描述】:

我正在我的项目中实现 UTF-8 字符支持。我们使用模板工具包。 在其中一个模板中,我有这个硬编码的下拉代码,它不允许我翻译文本。这是代码sn-p。

<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 作为选择,因为我希望显示翻译后的数据。谁能帮我解决这个问题。

dropdown.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 -%]

【问题讨论】:

    标签: html template-toolkit


    【解决方案1】:

    除非我遗漏了什么,否则我认为这里的问题只是这些散列中 choice 的值周围的单引号。根据定义,单引号将导致它们包含的内容不被插值。

    试试:

    [%  sub_options = [
            - { value => 'last', choice => translate.$lang.L_Submission },
            - { value => 'all',  choice => translate.$lang.A_Submissions },
        ];
    %]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      相关资源
      最近更新 更多