Symfon 1.4 загружает другой файл routing.yml в зависимости от параметра url внутри плагина.
У меня есть плагин, и мне нужно загрузить другой файл routing.yml на основе переменной в строке запроса.
Пример:
if($request->getParameter('page'){
// use routingPage.yml
}
else{
// use another routing.yml
}
Таким образом, если параметр страницы в URL url_for('@route1'), вернет один URL, иначе тот же url_for ('@ route1') вернет другой URL.
Как переопределить механизм загрузки rouing.yml, чтобы сделать то, что я хочу?
1 ответ
Каждое приложение может иметь только один routing.yml
(конечно, это может быть отменено другими плагинами).
Причина этого довольно проста: если вы хотите использовать несколько файлов маршрутизации (скажем, routing1.yml
а также routing2.yml
), и у них обоих есть маршрут под названием route1
, который перенаправляет на controller1/action
а также controller2/action
соответственно. Может быть, вы сможете переключить его в представлении, и перейти к controller1/action
в одном случае и controller2/action
в другом. Но потом: когда приходит новый запрос, и фронт-контроллер определяет, какой контроллер / действие выполнить: как он сейчас routing.yml
использовать?
Так что я не знаю точно, чего вы пытаетесь достичь, но я бы пошел по двум маршрутам в вашем routing.yml
и выберите маршрут в зависимости от параметров просмотра.