2011-10-06 5 views
0

플러그인이있어서 쿼리 문자열의 변수를 기반으로 다른 routing.yml 파일을로드해야합니다.symfon 1.4 플러그인 내 URL 매개 변수에 따라 다른 routing.yml로드

예 : 홈페이지의 페이지 매개 변수 url_for ('@의 route1')가, 하나 개의 URL을 반환됩니다

if($request->getParameter('page'){ 
// use routingPage.yml 
} 
else{ 
// use another routing.yml 
} 

그래서, 다른 같은 url_for ('@의 route1')는 다른 URL을 반환합니다.

내가 원하는 것을하기 위해 rouing.yml 로딩 메커니즘을 어떻게 오버라이드 할 수 있습니까?

+0

Symfony 1.4 프로젝트에서이 작업을 수행하는 시스템을 만들었지 만 * super * 복잡합니다. Symfony의 라우팅 설정 핸들러를 처음부터 끝까지 다시해야했다. 이 방법으로 재정의되도록 설계되지 않았습니다. 필요한 것을 성취 할 수있는보다 간단한 방법이 있다면, 대신 그 방법을 제안 할 것입니다. –

답변

0

모든 응용 프로그램은 하나만 가질 수 있습니다.routing.yml (물론 다른 플러그인으로 덮어 쓸 수 있습니다).

그 이유는 매우 간단합니다 : 당신이 (routing1.ymlrouting2.yml 말) 여러 라우팅 파일을 사용하려면, 그들은 모두 각각 controller1/actioncontroller2/action로 리디렉션 route1라는 경로가있는 경우. 보기에서 전환 할 수도 있고, 한 경우에는 controller1/action으로 가고, 다른 경우에는 controller2/action으로 이동하십시오. 그러나 : 새로운 요청이 도착하고 프론트 컨트롤러가 어떤 컨트롤러/액션을 실행할지를 결정할 때 : 이제는 어떤 방법으로 routing.yml을 사용할 수 있습니까?

나는 당신이 달성하고자하는 것을 정확히 모르지만 routing.yml에서 두 개의 경로를 찾아보기 매개 변수를 기반으로 경로를 선택합니다.

관련 문제