2013-08-21 3 views
0

저는 Yii를 처음 접했고 모든 페이지에서 최고 등급의 뉴스를 볼 수있는 응용 프로그램을 만들려고합니다. 내 질문은 : 레이아웃 파일에서 컨트롤러 동작을 어떻게 호출 할 수 있습니까? 닷넷 MVC에는 레이아웃에서 Html.RenderAction ("TopRated", "News")을 호출 할 수있는 훌륭한 함수가 있습니다. 뉴스 컨트롤러에서는 TopRated 액션을 호출합니다. 그런 다음 부분 뷰를 렌더링합니다.Yii 레이아웃의 렌더링 컨트롤러 동작

Yii에서 어떻게 할 수 있습니까?

+0

[이] (http://www.yiiframework.com/wiki/543/yii-hmvc/)는 Yii가 [_HMVC_] (http://en.wikipedia.org/wiki/Hierarchical_model%E2%)를 구현하는 방법입니다. 80 % 93view % E2 % 80 % 93controller). 글쎄, 좋지는 않지만 아무것도 아닌 것보다 낫다. 어쨌든이 질문은 공급자 지원 페이지에서 항상 질문해야합니다. – Leri

+0

Yii는 .net이 아니기 때문에 여기에 상황이 다르게 적용됩니다. 아마도 [위젯] (http://www.yiiframework.com/doc/guide/1.1/en/extension.create#widget)을 찾고있을 것입니다. –

+0

내가 말했듯이, 나는 Yii를 처음 사용합니다. 내가 .Net을 언급했다. 왜냐하면 나는 이것이 더 나은 접근법이라고 생각하기 때문이다. 위젯이 작동합니다. 감사합니다! – Andrej

답변

1

당신은 위젯을 생성해야하며 기본 레이아웃에 포함되어 있습니다. 모든 단일보기에 포함시키지 마십시오.

+0

위젯이 작동합니다. 감사합니다! – Andrej

0

해당 기능을 주 컨트롤러 (component.php)의 구성 요소 폴더에 배치 할 수 있습니다. 다른 컨트롤러가 기본 컨트롤러에서 확장으로

public function getTopRatedNews() { 
    // 
} 

, 당신은 단순히보기에서이 호출 할 수 있습니다 :

$news = $this->getTopRatedNews();