我正在尝试为电子商务网站做路由,这是我想要的RESTful路由..
/Category
/Category/1
/Category/1/Product
/Category/1/Product/1
这是我到目前为止所得到的......
test_index_homepage:
pattern: /
defaults: { _controller: TestIndexBundle:Default:index }
test_index_product:
pattern: /category/{cat_id}/product/{prod_id}
defaults: { _controller: TestIndexBundle:Product:index, cat_id : 1, prod_id : 1 }
test_index_category:
pattern: /category/{cat_id}
defaults: { _controller: TestIndexBundle:Category:index, cat_id : 1 }
我可以访问上面的所有网址但是/ Category和/ Category / 1 / Product实际上像/ Category / 1和/ Category / 1 / Product / 1一样工作,因为默认值为1.那么我应该如何制作它们能够在类别下显示所有类别和所有产品。
/Category <-- all categories available
/Category/1/Product <-- all products under category 1
答案 0 :(得分:0)
在主页路线后添加以下内容:
test_all_category:
pattern: /category
defaults: { _controller: TestIndexBundle:Category:index }
test_all_products_for_category:
pattern: /category/{cat_id}/product
defaults: { _controller: TestIndexBundle: Product:index }
请注意,对于test_category_all,cat_id将为null,对于test_all_products_for_category,prod_id将为null,因此您需要检查该内容。