【问题标题】:twig path() function generating different outcometwig path() 函数产生不同的结果
【发布时间】:2015-02-13 21:21:20
【问题描述】:

我正在尝试通过使用参数调用 path() 来将动态链接添加到我的树枝模板。

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

我在控制器中使用注解:

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

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

如何设置 twig 以使 path() 生成的 url 对应于

../book/123456789

而不是

../book/?id=123456789

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

【问题讨论】:

  • 你使用knp分页吗?
  • 不,我没有使用 KNP Bundle。
  • 您是否确定您的项目中没有多个“single_sale_submit_page”路由定义?
  • 尝试调试路由器并确保一切正常:php app/console router:debug
  • 您是否尝试将id 参数的默认值添加到您的@Route 注释中?之后清除缓存并在错误消失时报告。

标签: php symfony path annotations twig


【解决方案1】:

在注解中给控制器添加一个默认值:

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

清除缓存:

app/console cache:clear

重载后path()生成的路径会对应:

../book/123456789

而不是:

../book/?id=123456789

【讨论】:

  • 我的天啊,我一直在寻找这个,idk.. 可能是几周:D(在 yaml 和子域路由略有不同的情况下)就是这样。好吧,我现在明白了,但对我来说,默认值会突然产生重大影响是没有意义的,因此我什至没有尝试它,而是与听众、订阅者、树枝扩展等进行了斗争。多么简单的解决方法:D 谢谢。你。先生。
猜你喜欢
  • 2018-11-11
  • 2019-12-21
  • 1970-01-01
  • 1970-01-01
  • 2018-05-23
  • 2017-09-11
  • 2020-03-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多