2011-01-25 6 views
4

폼의 드롭 다운 값에 따라 다른 유형의 출력을 표시해야하는 컨트롤러에서 작업이 있습니다.젠드 프레임 워크 전환보기 실행

다른 뷰 유형에 대해 Templater 객체 (Zend_View_Abstract에서 확장)를 작성했습니다.

다음 코드 실행 시도 :

public function generateDocumentAction() 
{ 
    //...some code to set $view depending on post data   
    // e.g. $view = new TemplaterOdt(); //view as an OpenOffice document 

    $this->_helpers->getHelper('viewRenderer')->setView($view); 

    $this->view->myvar = $form->getValue('some_value'); 
} 

하지만 $this->view은 아직도 내가 검토 한 /public/index.php

에 설정된 기본 하나 (A 멋지 templater)입니다 설명서에 그리고 당신이 컨트롤러 http://framework.zend.com/manual/en/zend.view.scripts.html의 init() 함수에서 뷰를 설정할 수 있다고하지만 이것은 내가 원하지 않는 전체 컨트롤러에 대한 뷰를 설정합니다.

이 작업에 대해서만 출력 유형을 변경하려면 어떻게해야합니까?

+0

이유는 전체 컨트롤러에 대한보기를 설정하지 않으? 단일 요청 중에 해당 컨트롤러에서 둘 이상의 작업을 호출하고 있습니까? – jah

+0

컨트롤러 대신'부트 스트랩 (Bootstrap) '또는 컨트롤러 플러그인에서 설정하는 것이 좋습니다. – takeshin

+0

컨트롤러는 모델에서 하나의 객체와 관련된 모든 작업을 수행합니다 (예 : 추가, 편집, 삭제). HTML을 표시해야합니다. – Hexdoll

답변

7

그냥 렌더링 할 템플릿을 변경하려면, 사용 :

$this->_helper->viewRenderer('viewscripthere');