Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Zend] sposób na różnego rodzaju menu, Wybór menu przez użytkownika z bazy lub cms
Fluke
post 7.02.2012, 00:26:54
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 smile.gif
Go to the top of the page
+Quote Post
Pilsener
post 7.02.2012, 15:25:20
Post #2





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

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


Cytat
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
- a co ma do tego Zend? To tylko framework. Klientowi dajesz możliwość edycji szablonów albo wybór kilku albo jedno i drugie. Jak nie podoba się PHP template to nic nie stoi na przeszkodzie, by użyć np. Smarty.

A co do menu to jest coś takiego jak Zend_Navigation
Go to the top of the page
+Quote Post
Fluke
post 8.02.2012, 01:12:21
Post #3





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

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


Tak, tylko że Smarty tu nie ma nic do rzeczy, chodzi mi głównie o to czy lepiej jakoś tworzyć menu w kontrolerach czy też właśnie jak mówiłem w extensions. I w Zend layout dać $this->action("kontroller", "akcja", "moduł");.

Chodzi mi o to czy ten sposób jest okey. Bo chcę się nauczyć a nie robić koło. smile.gif
Go to the top of the page
+Quote Post
Pilsener
post 8.02.2012, 10:34:02
Post #4





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
macpain1982
post 8.02.2012, 12:38:02
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 8.02.2012

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


Witam,
Mozesz tez spojrzec na Partial Helper http://framework.zend.com/manual/en/zend.view.helpers.html

Pozdrawiam
Go to the top of the page
+Quote Post
Fluke
post 9.02.2012, 14:30:22
Post #6





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

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


Dzisiaj po eksperymentuje z Zend_Navigation oraz Partial Helper i napiszę swoje spostrzeżenia smile.gif
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.06.2025 - 19:54