twig path()函数产生不同的结果

时间:2014-12-15 17:38:48

标签: php symfony path annotations twig

我试图通过使用参数调用path()来为我的twig模板添加动态链接。

{{ path('single_sale_submit_page', {'id': book['id']}) }}

我在控制器中使用注释:

@Route("/book/{id}", name="single_sale_submit_page")

这会产生以下网址:../ book /?id = 123456789。我一直得到我的控制器需要一个强制参数的错误,这当然是正确的,因为生成的url有不同的语法(?)。

如何以path()生成的url对应

的方式设置twig
../book/123456789

而不是

../book/?id=123456789

编辑: 这个question与我的问题有些相同。

1 个答案:

答案 0 :(得分:2)

将注释中的默认值添加到控制器:

@Route("/boek/{id}", defaults={"id" = 1}, name="single_sale_submit_page")

使用以下命令清除缓存:

app/console cache:clear

重新加载后,path()生成的路径将对应于:

../book/123456789

而不是:

../book/?id=123456789