类别树的路由

时间:2012-09-06 10:12:42

标签: php symfony doctrine url-routing

我对类别树使用Tree学说扩展,并希望有以下路由:

/cat/subcat1/subcat2/subcat3

我可以定义像

这样的路线
/{cat}
/{cat}/{subcat}
/{cat}/{subcat}/{subcat2)
etc...

但有没有更优雅和一般的实现方式?一个可以接受无限数量级别的系统?

2 个答案:

答案 0 :(得分:7)

您可以做的是接受路由参数中的斜杠(仅适用于此路线)。它涉及到您不能将任何其他参数排队,因为斜杠分隔符将被视为类别参数的一部分......

那么,如何在路由参数中管理斜杠:

_hello:
    pattern: /category/{category}
    defaults: { _controller: AcmeDemoBundle:Demo:category }
    requirements:
        category: ".+"

调用/category/cat1/sub1/sub2将使用'cat1 / sub1 / sub2'作为$ category参数调用DemoController::categoryAction($category)方法。只需使用您自己的代码进行解码!

在官方文档http://symfony.com/doc/2.0/cookbook/routing/slash_in_parameter.html

上找到的代码示例

答案 1 :(得分:0)

我认为这些链接可能是相关的:

https://github.com/symfony-cmf/RoutingBundle

Category tree in url