2016-12-12 6 views
0

Я использую Symfony2 и имею структуру категорий и подкатегорий со статьями в них. В списках я использую разбивку на страницы.Symfony2 routing - slug with slashes and pagination

Если я называю URL как «category1-слизняк/4» он прекрасно работает и открывает страницу 4 из списка статей в категории 1.

Но если я хочу использовать слизняк как «category1/subcategory3/4 ", он возвращает 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: .*$ 

ответ

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: .*$ 
+0

Спасибо за ответ. Было бы неплохо, если бы существовал неограниченный уровень подкатегорий. –