Piszę skromnego CMS`a. Mam pytanie odnośnie menu po prawej,lewej czy tam na górze strony. Chciałbym aby użytkownik mógł sobie dobierać menu jakie i gdzie chce. Np: Chce mieć menu z samymi linkami na górze, menu z kategoriami oraz najnowsze newsy po lewej stronie a po prawej tylko panel do logowania. Po pewnym czasie stwierdza że panel logowania zrobi na górze a newsy po prawej a kategorie i linki po lewej.
Teraz nie wiem czy Zend posiada jakieś rozwiązanie tego. Trochę już siedzę w Zend ale nie wiem jak to mogło by być rozwiązane za pomocą tego frameworka.
Moje rozwiązanie na dzień dzisiejszy jest takie:
Mamy katalog np: Extensions. Tam są przechowywane same komponenty menu.
Np:
\Extensions
\\Links
\\\Links.php [class]
\\\views
\\\\index.phtml
\\Category
\\\Category.php [class]
\\\views
\\\\index.phtml
...
I teraz w IndexController lub jakimś innym, pobieramy z bazy danych dane dotyczące tych menu czyli: IdController,IdExtension,IdLocalization, ...
Teraz w widoku kontrolera wyświetlamy wszystkie te "extensions" które użytkownik sobie ustawił za pomocą view helpera.
View helper ładuje nam klasę odpowiednią i ta klasa ładuje sówj widok tak że w widok wygląda tak:
<div id="menu-lewe"> <? foreach($this->menu["menu-lewe"] as $menu) : ?> <div class="menu-item"> <?=$this->getMenu(new $Menu)->load()->display(); ?> </div> <? endforeach; ?> </div>
Metoda display zwraca nam Zend_View::render.
Chciałbym wiedzieć czy to jest jakieś rozwiązanie, pewnie każdy ma swoje ale chciałbym usłyszeć czyjeś zdanie. Ja do tego się przyzwyczaiłem i jest całkiem spoko.
Pozdrawiam
