Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CakePHP] Dynamiczny boczny panel.
Forum PHP.pl > Forum > PHP > Frameworki
ostry38
Witam, zacząłem pisać CMS oparty o "ciastko" i mam pewien problem, chcę zrobić dynamiczny boczny panel, dane mają być pobierane z bazy mysql, tak żeby w każdej chwili można było dodać dodatkowy panel, usunąć, zmienić.
Po prostu nie wiem jak to zaimplementować w kodzie żeby był widoczny na każdej podstronie.
Pozdrawiam.
Damiankossek
Ja w swoim CMSie mam tak że wszystkie Controllery dziedziczą po Controller_Main i jeżeli chciałbym uzyskać taki efekt to zbudowałbym widok w Mainie i miałbym w każdym Controllerze ten panel, oczywiście to można fajnie rozbudować, ja mam tak że jeżeli $buildTemplate = TRUE; to cały widok buduje mi się w Mainie (Tylko nie wysyłam danych do zmiennej content aby potem w controllerze sobie ustawić to co chcę), a jeżeli FALSE to sam w kontrolerze sobie wszystko buduje smile.gif Na moje wymagania sprawdza się fajnie

Z tym że ja robie w Kohana
fleshgrinder
W Cake to będzie coś takiego:

Tworzysz AppController w app/controllers/ (http://book.cakephp.org/view/957/The-App-Controller), deklarujesz żeby korzystał z odpowiedniego modelu który odpowiada za obsługę bocznego panelu (np. public $uses = array('Sidebars'); ), w jego metodzie beforeFilter() ustawiasz zmienne dla widoku (np. $this->set('sidebar', $this->Sidebar->find('first')); ) i w layoucie/widokach dodajesz szablon bocznego panelu jako element (np. echo $this->element('sidebar', array('sidebar' => $sidebar')); patrz tez http://book.cakephp.org/view/1081/Elements)

Pamiętaj, że skoro poszczególne kontrolery dziedziczą po klasie AppController, to ich właściwości i metody nadpisują te rodzica, korzystaj z konstrukcji parent::
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.