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и выберите маршрут в зависимости от параметров просмотра.

Другие вопросы по тегам