0

我对为什么在模板工具包的下拉选项下没有正确显示尖锐的口音感到困惑。

[% glossary.$language.all_terms %] 

在 UI 中显示为“Todos los Términos”。但是当我在下拉菜单中使用它时,它显示的字符不正确。我附上了截图。

显示错误数据的下拉列表,其中打印的相同变量是正确的

为此,我编写了这样的模板。

[% IF terms.size > 1 %]
  <select onchange="this.form.submit();">
  [%-
     IF terms.size > 1;
        terms.unshift( { name => glossary.$language.all_terms, term_id => '0' } );
        terms.unshift( { name => glossary.$language.all_current_terms, term_id => '' } );
     END;

 INCLUDE html/options.tmpl
 options   = terms,
 valuekey  = 'term_id',
 choicekey = 'name',
 selected  = form.term_id
  -%]
</select>

html/options.tmpl 是一个模板,它将在同一个下拉列表中添加额外的动态选项。术语数据结构是从 PERL 模块发送的。我做错了什么。?

4

1 回答 1

1

我同意 Dave,Template Toolkit 站点中的流行语法是使用 html 实体的单词形式。也许替换&#233;&eacute;html/options.tmpl 中的。

除此之外,模板工具包描述了过滤器的使用。出于某种原因,选项项可能会被过滤,也可能不会。也许这可以帮助你https://metacpan.org/pod/distribution/Template-Toolkit/lib/Template/Manual/Filters.pod#html_entity

于 2013-03-07T12:08:13.427 回答