Symfony2路由 - slush with slashes and pagination

时间:2016-12-12 11:04:38

标签: symfony url-routing

我使用Symfony2并且具有类别和子类别的结构,其中包含文章。在列表中我使用分页。

如果我调用的网址类似于< category1-slug / 4'它工作正常,打开列表的第4页,其中包含第1类中的文章。

但是如果我想使用类似" category1 / subcategory3 / 4"这样的slug,它会返回404,因为它将整个字符串视为slug - " category1 / subcategory3 / 4"

我应该如何配置路由?我希望页码的最后一位数字。我目前的定义是:

app_article_category:
path:  /articles/{slug}{trailingSlash}{page}
defaults: { _controller: CmsArticleBundle:AppArticle:showItem, page: 1, trailingSlash:"/"}
requirements:
    page:  \d+
    trailingSlash : "[/]{0,1}"
    slug: .*$

1 个答案:

答案 0 :(得分:0)

在现有路线之前添加新路线应该完成这项工作:

app_article_category_subcategory:
    path:  /articles/{slug_cat}{trailingSlash}{slug_subcat}{trailingSlash}{page}
    defaults: { _controller: CmsArticleBundle:AppArticle:showItem, page: 1, trailingSlash:"/"}
    requirements:
        page:  \d+
        trailingSlash : "[/]{0,1}"
        slug_cat: .*$
        slug_cat: .*$