我的路线定义如下:
reuzze_reuzze_categoryentitiespage:
pattern: /category/entities/{category_id}
defaults: { _controller: ReuzzeReuzzeBundle:Category:entities }
我在视图中有类别,我想循环并创建如下的超链接:
{% for name, category in categories %}
<li>{{ name }}</li>
<ul>
{% for key, string in category %}
<li><a href="{{ path('reuzze_reuzze_categoryentitiespage', {'category_id': {{ key }} }) }}">{{ string }}</a></li>
{% endfor %}
</ul>
{% endfor %}
但是当我这样做时,我总是会收到这个错误:
A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses (unexpected token "punctuation" of value "{" in ReuzzeReuzzeBundle:Search:entitiesfromsearch.html.twig at line 12
我做错了什么?
答案 0 :(得分:4)
替换,
<li><a href="{{ path('reuzze_reuzze_categoryentitiespage', {'category_id': {{ key }} }) }}">{{ string }}</a></li>
用,
<li><a href="{{ path('reuzze_reuzze_categoryentitiespage', {'category_id': key }) }}">{{ string }}</a></li>
换句话说,{{ ... }}
twig分隔符不能嵌套。包含在第一个分隔符中的所有变量都被解释。无需通过任何其他嵌套分隔符包装key
变量。