如何在Symfony路由

时间:2018-06-14 13:37:17

标签: symfony routing symfony-routing

我需要创建像

这样的路由
http://localhost:89/app_dev.php/list#gold-coin

因此它将打开导航上的特定标签。

但我的路由没有按预期工作。

shop_product:
    path: /list#{slug}
    methods: [GET] 

编辑:

我有三个标签标签-A,标签-B,标签-C,我需要在点击网址http://localhost:89/app_dev.php/list#tab-A上显示与标签-A相关的产品列表。 (将tab-A视为类别)。我需要tab-A作为slug参数,我们不喜欢像http://localhost:89/app_dev.php/list/tab-A

这样的网址

3 个答案:

答案 0 :(得分:1)

#gold-coin未发送到服务器。请参阅此question以了解原因。

如果您想知道slug服务器端并且想要拥有它的锚点,请使用类似这样的路线:/list/{slug},并在您的javascript中use location.href to change the anchor

如果您不想知道服务器端的锚点use the _fragment parameter when displaying the url

答案 1 :(得分:0)

关于此问题的路由,您无能为力。

http://localhost:89/app_dev.php/list#gold-coin

与服务器相同:

http://localhost:89/app_dev.php/list

我认为anchor #something仅用于客户端

答案 2 :(得分:0)

v 3.2中引入了对锚点的支持。对于使用fragment变量的路由组件:

$this->get('router')->generate('articles', ['_fragment' => 'comments']);

会生成一个网址:/articles#comments

了解更多信息view the announcement