Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Powtarzające się elementy w wielu kontrolerach
ulisses
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 19.08.2004

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


Jak to najlepiej zrealizować.

Przyznam że lekko już głupieję. Chcę na każdej stronie mieć umieszczoną wyszukiwarkę, drzewo kategorii i inne "generyczne boxy". Umieszczone na layoucie. Będzie potrzebna komunikacja z bazą danych i obsługa. Nie chcę powielać tego we wszystkich kontrolerach - bezsensowne.

Co zastosować?
Helpery Akcji, Pluginy, "Master Controller" z którego będą dziedziczyły wszystkie inne kontrolery? Może coś jeszcze czego nie dostrzegam? To musi być częsty problem, więc musi być też optymalnie rozwiązane.

Jakie są praktycznie wady zalety powyższych rozwiązań?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


W obrębie jednego kontrolera dla wszystkich akcji kod wrzucasz do metody init(). Natomiast, jeśli chcesz, aby jakiś fragment funkcjonalności był dostępny dla wszystkich kontrolerów - powinieneś zastosować budowę modułową oraz wykorzystać Zend_Layout, gdzie umieszczasz elementy statyczne. Skrypty często powielane i dołączane dla wielu kontrolerów możesz dołączać korzystając z Bootstrapów, a dokładnie Bootstrapa modułu domyślnego. Możesz wreszcie napisać własny plugin i w jakiejś metodzie inicjującej w głównym Bootstrapie zarejestrować go we front kontrolerze. Możliwości jest sporo, jednak w Twojej sytuacji rozsądne wydaje się wrzucenie elementów statycznych do layoutu (pod warunkiem, że wyszukiwarka i drzewko mają być wszechobecne), skrypty js i arkusze css dołączałbym w Bootstrapie domyślnego modułu, a akcje zaimplementował w kontrolerze domyślnego modułu. Mam nadzieję, że nie namieszałem.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 27.12.2025 - 02:26