发送参数以在symfony twig中路由

时间:2014-01-05 14:21:26

标签: php symfony parameters routes twig

我的路线定义如下:

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

我做错了什么?

1 个答案:

答案 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变量。