【问题标题】:Use Typeahead template inside a twig在树枝内使用 Typeahead 模板
【发布时间】:2014-01-12 19:16:35
【问题描述】:

我正在使用 symfony2 并想使用 typeahead,我将配置包含在 twig 中,因此我无法渲染模板,因为此语法:{{ var }} 与 Twig 的相同。 我怎样才能解决这个问题?

这是预先输入的代码:

$('.example-twitter-oss .typeahead').typeahead({
  name: 'twitter-oss',
  prefetch: '../data/repos.json',
  template: [
    '<p class="repo-language">{{language}}</p>',
    '<p class="repo-name">{{name}}</p>',
    '<p class="repo-description">{{description}}</p>'
  ].join(''),
  engine: Hogan
});

【问题讨论】:

    标签: symfony twig bootstrap-typeahead


    【解决方案1】:

    编辑

    您可以使用{% verbatim %} 标签(从 1.12 开始)或 {% raw %} 标签(在 1.12 之前)临时忽略 Twig 令牌:

    {% verbatim %}
    $('.example-twitter-oss .typeahead').typeahead({
      name: 'twitter-oss',
      prefetch: '../data/repos.json',
      template: [
        '<p class="repo-language">{{language}}</p>',
        '<p class="repo-name">{{name}}</p>',
        '<p class="repo-description">{{description}}</p>'
      ].join(''),
      engine: Hogan
    });
    {% endverbatim %}
    

    原创 我知道的唯一解决方案是用 Twig 呼应这些元素:

    $('.example-twitter-oss .typeahead').typeahead({
      name: 'twitter-oss',
      prefetch: '../data/repos.json',
      template: [
        '<p class="repo-language">{{ '{{language}}' }}</p>',
        '<p class="repo-name">{{ '{{name}}' }}</p>',
        '<p class="repo-description">{{ '{{description}}' }}</p>'
      ].join(''),
      engine: Hogan
    });
    

    【讨论】:

    • 可以直接使用Twig引擎吗?
    • 否则,亲爱的先生,您的回答是正确的,但是由于 symfony2 使用 Twig 来呈现 HTML,我认为不需要包含额外的引擎,例如 Hogan。如果您能说出您的想法,我将不胜感激!
    • 非常感谢! Twig 引擎怎么样,我可以用它代替 Hogan 吗?
    • @Sekai Hogan 是前端模板引擎,Twig 是后端。但是,您可以将 Hogan 替换为 Twig.js
    猜你喜欢
    • 2012-07-27
    • 2013-08-07
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多