/ / Wie kann ich Zend Layout mit Zend View verwenden, wenn ich die Ansicht von einem Modell aus anrufe? - Zend-Ansicht

Wie kann ich Zend Layout mit Zend View verwenden, wenn ich die Ansicht von einem Modell aus aufrufen möchte? - Zend-Ansicht

Grundsätzlich möchte ich eine Ansicht und ein Layout von einem Modell rendern. Frag mich nicht warum.

Vor allem funktionieren die Ansichten wie beabsichtigt und ich binsie später in eine Variable für meinen perversen Gebrauch laden. Mir ist auch bewusst, dass ich immer Teil-Skripte machen kann. Es scheint ein gültiger Fallback zu sein, aber es schneidet einfach nicht ab.

Was ich tun möchte ist, dass das Layout automatisch funktioniert, genau wie bei Controllern und Ansichten.

Im Moment beschäftige ich so etwas:

// 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");

Das Problem ist, dass $ body das Layout enthält und nur dann die tatsächliche Ansicht. Irgendein Rat? Was mache ich falsch?

Antworten:

2 für die Antwort № 1

Angenommen, Ihr Layout enthält den Standard $this->layout()->content Irgendwo wolltest du das:

$layout->content = $view->render("...");
$body = $layout->render("...");

Quelle: http://www.wowww.ch/2009/03/16/zend-mail-avec-template-standardise-avec-zend-layout-et-zend-view/


0 für die Antwort № 2

Ich denke, meine erste Note müsste das seinSie versuchen, einen Hammer als Schraubenzieher zu verwenden. Wie Sie sicher wissen, ist die Ansicht im MVC-Modell das Rendering und ist logisch (getrennt) vom Modell. Ich bin mir nicht sicher, ob Sie eine glückliche Lösung dafür finden werden, da Sie die Ströme überqueren.