2009-07-29 2 views
0

기본적으로 모델에서 뷰와 레이아웃을 렌더링하려고합니다. 왜 나 한테 묻지 마.모델에서보기를 호출하면 Zend View에서 Zend Layout을 어떻게 사용할 수 있습니까?

우선,보기가 의도 한대로 작동하고 이후의 잘못된 사용을 위해 변수에로드됩니다. 나는 또한 내가 항상 부분 스크립트를 할 수 있다는 것을 충분히 알고있다. 유효한 후퇴 인 것처럼 보이지만 그걸 잘라 내지 못합니다.

내가 원하는 것은 컨트롤러와 뷰가있는 경우와 같이 레이아웃이 자동으로 작동하도록하는 것입니다.

// Class blablabla 
$layout = new Zend_Layout(); 
$layout->enableLayout(); 
$layout->setView($view); 

// Ugly url, I know, I'm experimenting and they work 
$body = $layout->render('mailer/layout/mail'); 
$body .= $view->render('mailer/templates/' . $type . '.phtml'); 

문제는 $ 본문 레이아웃 만 다음 실제보기가 포함되어 있습니다 :

는 지금은 같은 것을 사용합니다. 어떤 충고? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

0

내 첫 번째 메모는 드라이버로 망치를 사용하려고해야한다고 생각합니다. 내가 아는 한, MVC 모델에서 뷰는 렌더링이고 모델과 논리적으로 구분됩니다 (별도). 당신이 스트림을 건너고 있기 때문에 당신이 행복한 해결책을 찾을 수 있을지 확신하지 못합니다. 레이아웃이 기본 $this->layout()->content 곳이 포함되어 있다고 가정

+0

내가 어떻게 MVC 작품을 잘 알고 있습니다. 이 함수는 전자 메일 본문으로 사용할 phtml (사람이 읽을 수있는/쉽게 편집 할 수있는) 스트림을 생성하고 전자 메일 흐름을 제어하는 ​​간단한 프로세스에서 보내지는 db에 저장합니다. 예, 누구나 도우미를 사용할 수 있지만 500 $ html. = 'blablabla'; 행은 끔찍한 접근 방식입니다. 앞에서 말했듯이 이미 암흑의 필요를 채우기 위해 전망을 성공적으로 사용할 수 있습니다. 내가 좋아할만한 것은 레이아웃이 만족스럽게 작동한다는 것입니다. 이것을 표준 MVC와 평행하려면 잠복 MVC로 보아라. – John

+0

제가 말하고자하는 것은 십자 드라이버가 우월한 반면 지금은 직선 드라이버가 필요하다는 것입니다. – John

+0

Gotcha, 그리고 내가 명백한 것을 증명할 때 친절한 것에 감사드립니다. 이것으로 행운을 빌어, 나는 ZF 전문가가 아니며,이 질문은 하나를 요구한다. – markh