函数调用作为Symfony / Twig路径函数中的参数

时间:2016-02-04 08:58:57

标签: php symfony twig symfony-2.3

我有这样的路线:

 /**
     * @Route("/admin/user/edit/{id}", defaults={"id" = 0}, name="admin_user_edit")
     * @Route("/admin/user/edit")
     * 
     */
    public function editAction(Request $request, $id = 0){
    (...)

然后是Twig模板,我列出了所有用户:

 {% for user in users %}
        <li>

          <a href='{{ path('admin_user_edit'),{'id' : user.getId()} }}'>
            {{ user.getUsername() }}
          </a>

        </li>
    {% endfor %}

正如您所看到的,我试图传递&#39; user.getId()&#39;作为身份证。我明白了:

  

意外的令牌&#34;标点符号&#34;价值&#34;,&#34; (&#34;结束语和#34;   预期)在admin / users / list.html.twig第5行。

我知道这个user.getId(),因为在我添加这段代码之前一切都很好。

那么如何将函数结果传递给这个&#34;路径&#34;功能

1 个答案:

答案 0 :(得分:1)

您的路径功能应该具有路径名称和括号内的参数,如

{{ path('admin_user_edit', {'id' : user.getId() }) }}

此外,由于您未在user.getId()电话中使用参数,因此您只能使用user.id