Symfon 1.4 загружает другой файл routing.yml на основе параметра url внутри плагина - PullRequest
0 голосов
/ 06 октября 2011

У меня есть плагин, и мне нужно загрузить другой файл 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 Ответ

0 голосов
/ 07 октября 2011

Каждое приложение может иметь только один routing.yml (конечно, оно может быть переопределено другими плагинами).

Причина этого довольно проста: если вы хотите использовать несколько файлов маршрутизации (скажем, routing1.yml и routing2.yml), и у них обоих есть маршрут с именем route1, который перенаправляет на controller1/action и controller2/action соответственно. Возможно, вы сможете переключить его в представлении и перейти к controller1/action в одном случае и controller2/action в другом. Но потом: когда поступает новый запрос, и фронт-контроллер определяет, какой контроллер / действие выполнить: как он теперь, какой routing.yml использовать?

Так что я не знаю точно, чего вы пытаетесь достичь, но я бы выбрал два маршрута в вашем routing.yml и выбрал бы маршрут на основе ваших параметров просмотра.

...