Hallo Forum,
die Suche hat mir leider nicht viel weitergeholfen, da ich auch nicht so genau weiss wonach ich suchen soll.
Mein Problem ist folgendes:
Natürlich möchte ich diese Daten nicht in jedem Model neu laden und in jeder View das Layout neu einfügen. Bei Änderungen am Layout müsste ich dann jede View und evtl. jedes Model bearbeitenIch schreibe eine Komponente die aus mehreren Views besteht, von denen auch jede View ein eigenes Model besitzt. Nun möchte ich aber in jeder View einen Bereich haben, der immer die gleichen Daten darstellt.
Wie ich woanders mitbekommen habe, könnte ich eine Art "Über"-Model schreiben, das diese Daten lädt und für dieses Model auch eine eigene View erstellen. Und diese View könnte ich dann in den anderen Views mit einbinden.
Leider habe ich keine Ahnung wie ich das bewerkstelligen könnte, da ich bisher nicht Mal wusste, dass das überhaupt möglich ist. Gibt es evtl. eine kostenlose Komponente die ich mir als Beispiel ansehen könnte. Oder könnte ihr mir ein Beispielscript zeigen, dass vorführt wie ich eine View in einer anderen View anzeige!?
Danke und Gruß
Olli
Lösung:
Im Komponenten-Controller den Output einer View cachen:
jetzt noch in der view.html.php:PHP-Code:$navView = &$this->getView('navigation', $viewType);
ob_start();
$navView->display();
$navigation = ob_get_contents();
ob_end_clean();
$view = &$this->getView('someSite', $viewType);
$view->assign('navigation', $navigation);
$view->display();
und fertig. Jetzt kann man den Output der View an jeder beliebigen Stelle im Template der anderen View ausgeben.PHP-Code:$this->assignRef('navigation', $this->navigation);
Gruß


LinkBack URL
About LinkBacks
Zitieren

Lesezeichen