Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Zend] sposób na różnego rodzaju menu, Wybór menu przez użytkownika z bazy lub cms
Fluke
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 9
Dołączył: 20.09.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam.

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:
  1. <div id="menu-lewe">
  2. <? foreach($this->menu["menu-lewe"] as $menu) : ?>
  3. <div class="menu-item">
  4. <?=$this->getMenu(new $Menu)->load()->display(); ?>
  5. </div>
  6. <? endforeach; ?>
  7. </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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


To poeksperymentuj z Zend_Navigation.

Z mojego doświadczenia wiem, że najlepiej menu trzymać w bazie jako drzewo, łatwo wtedy jest to wrzucić do Zend_Navigation i użyć cache żeby było wydajnie.

Kontrolery ani extensions nie są od tworzenia menu. Jak już to model.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 21:00