2012-07-16 5 views
2

나는 매우 비슷하고 동일한 데이터베이스 테이블을 공유 할 수있는 두 개의 Yii 모델을 만들려고합니다. 하나는 '질문'이고 다른 하나는 '기사'입니다. 둘 다 제목, 본문 및 저자를 공유합니다. '질문'에는 'article'이 follow_up이라는 호출과 상호 작용할 필요가없는 표에 추가 필드가 있습니다.Yii - 하나의 컨트롤러 다중 URL

대부분의 방법과 유효성 검사는 동일하지만 if 문으로 쉽게 수행 할 수있는 몇 가지 작은 차이가 있습니다. 내가 보는 주요 문제는 URL입니다. site.com/question 및 site.com/article과 같은 별도의 URL을 원하지만 동일한 모델, 컨트롤러 및보기와 상호 작용하도록해야합니다.

어떻게이 작업을 수행 할 수 있습니까?

답변

5

Yii 구성에서 urlManager 구성 요소를 사용하여/article과/question의 경로를 동일한 컨트롤러로 이동 한 다음 다른 동작이나 다른 매개 변수를 사용하여 두 경로를 구별합니다. 당신이 당신의 필요에 따라 그것을 수정해야합니다 물론

array(
    ... 
    'components' => array(
    ... 
    'urlManager' => array(
     'question/<\d+:id>' => 'mycontroller/myaction/type/question/id/<id>', 
     'article/<\d+:id>' => 'mycontroller/myaction/type/article/id/<id>', 
    ), 
), 
); 

를하지만 일반 설정 : 당신은 그들이 거의 동일했다 있기 때문에, 다음과 같이 나는 다른 매개 변수와 하나의 조치를 건의 할 것입니다. 자세한 내용은 여기를 참조하십시오. http://www.yiiframework.com/doc/guide/1.1/en/topics.url

관련 문제