【发布时间】:2012-09-19 14:44:16
【问题描述】:
Twig 使用{{ }}、{% %}、{# #} 分隔符。
但是如何在 Twig 模板中显示{{ }}?
我不是在谈论 HTML 转义。
我问这个问题是因为我想在我的 Twig 模板中包含一个小胡子模板,以便我将填充来自 AJAX 调用的数据。
【问题讨论】:
标签: twig
Twig 使用{{ }}、{% %}、{# #} 分隔符。
但是如何在 Twig 模板中显示{{ }}?
我不是在谈论 HTML 转义。
我问这个问题是因为我想在我的 Twig 模板中包含一个小胡子模板,以便我将填充来自 AJAX 调用的数据。
【问题讨论】:
标签: twig
最简单的方法是使用变量表达式输出变量分隔符({{):
{{ '{{' }}
替代品(当你不得不逃避太多时使用)是原始的(verbatim 自 1.12 起)块:
{% raw %}
<ul>
{% for item in seq %}
<li>{{ item }}</li>
{% endfor %}
</ul>
{% endraw %}
其实挺well documented。
【讨论】:
{{ '{{' }} foo {{ '}}' }} 使用 twig 渲染 twig 渲染 twig 渲染 ....
{{ verbatim }} 和 {{ endverbatim }}
Twig documentation 给出了两个建议。第一种就是简单的输出一个字符串:
{{ '{{' }}
否则,如果您想输出较长的部分(听起来像您这样做),您可以使用raw tag:
{% raw %}
your mustache content here
{% endraw %}
【讨论】:
raw 现在是 verbatim。这在 Twig 版本 1.12 中发生了变化(在撰写本文时,3.x 很常见)。所以:{% verbatim %}your mustache content here{% endverbatim %}
{% block body %}
<table class="table table-striped">
{% for temp in data %}
<tr>
<td>{{temp.fname}}</td>
<td>{{temp.lname}}</td>
</tr>
{% endfor %}
</table>
{% endblock %}
【讨论】: