2017-02-13 3 views
0

У меня есть два типа контента, но в обоих случаях я не хочу, чтобы в URL-адресе был клоун contenttype. Таким образом, оба типа контента должны соответствовать /{slug}, но используйте контент из другого типа контента.Болт CMS: Маршрут не соответствует, попробуйте следующий маршрут

Так я, хотя, я создаю два маршрута, если первый выходит из строя, он будет попробовать второй:

# match on any landingpage created as a contenttype landingpage 
landingpagebinding: 
    path: /{slug} 
    defaults: 
     _controller: controller.frontend:record 
     contenttypeslug: landingpage 
    contenttype: landingpage 

# match on any actionpage created as a contenttype actionpage 
actionpagebinding: 
    path: /{slug} 
    defaults: 
     _controller: controller.frontend:record 
     contenttypeslug: actionpage 
    contenttype: actionpage 

Так у меня есть:

  • LandingPage «/ это-это-мой -landingspage»
  • actionpage "/ это-это-мой-actionpage"

LandingPage работает, actionpage дает 404

посадочная площадка/это-мое-действие-страница не найдена.

Почему я получаю 404 на landingpagebinding? Я ожидал, что он продолжит следующий маршрут, actionpagebinding и попытается сопоставить это. Если это также не найдено, то я хочу ошибку 404!

Примечание: Я знаю, что, когда оба типа контента имеют одинаковый слизень, первый будет соответствовать. Но это не проблема.

ответ

0

У меня была та же проблема с этим. вам придется написать функцию, которая подбирает следующий слизень, если предыдущий не был найден.

какой болт просто проверяет первый вариант, а затем останавливается. вам нужно написать некоторую функцию, которая позволяет продолжить чтение, пока не найдет искомый файл.

Смежные вопросы