Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [code igniter] Kilka kontrolerów na stronie
Forum PHP.pl > Forum > PHP > Frameworki
hevellius
Witam, zwracam się z prośbą o radę w kwestii budowania strony na CI

Przykładowo mam szablon strony głównej, w footerze jest lista linków czerpana z bazy danych(którą można edytować w panelu admina), to samo z inną listą linków w headerze, w środku strony jest również listwa najnowszych newsów, wizytówek userów, plus losowo wyświetlana reklama - W tym momencie główny kontroler pobiera globalne dane jak tytuł strony itp, wyświetla główny szablon. Z tym sobie radzę jeszcze ale wiadomo osobny "pakiet" mvc mają newsy, wizytówki, reklama, linki headera, linki stopki i nagłówka: daje to łącznie 5 dotatkowych kontrolerów do uruchomienia.

W jaki sposób "poumieszczać" poszczególne kontrolery w odpowiednich divach głównego szablonu? Wiem że pewnie to jest trywialne pytanie ale zaciąłem się przy nim jak głupi, był post o tym na forum ale nic mi nie wytłumaczył, na oficjalnym wiki nic nie znalazłem(mój angielski od pewnego czasu jest słabiutki z powodu długiego nieużywania wstydnis.gif ) a nie chcę żeby główny kontroler zarządzal wszystkimi modelami i widokami, dlatego proszę was o pomoc

wystarczy opis jak to zrobić mniej więcej, mały skrawek kodu obrazujący to, link do opisu, wszystko jedno co mnie nakieruje

pozdrawiam


ps. mam nadzieję że nie powielam tematu

edit:
poszukałem trochę, jest fajna opcja na forum CI:
http://codeigniter.com/wiki/Modular_Separation/

pościągałem pliki, powrzucałem wszystko jak trzeba ale albo jestem zbyt zmęczony/ciemny(skreśl niepotrzebne) ale no nie widziałem tam opisu jak to wstawić na stronę:) - Co zrobić żeby załadować główny kontroler i potem np do danej warstwy wrzucić moduł "newsy", "reklama" czy "logowanie"?
nrm
złe podejście.

w zależności od typu rozbijasz to sobie na modele, pluginy albo biblioteki. i wywołujesz z danego kontrolera.
hevellius
ok, czyli to znaczy że tymi wszystkimi rzeczami na stronie powienien zarządzać jeden kontroler?

normanos, masz może jakąś przykładową starą swoją aplikację małą która wykorzystuje na stronie dane z więcej niż jednego widoku lub modelu?
nrm
Nie, to znaczy, że kontroler - kontroluje przebieg. z modeli, bibliotek i pluginów wyciągasz odpowiednie dane i kierujesz do widoku.

Przykład:

- autoryzacja w 2 miejscach
- autoryzacja jako biblioteka

kontroler:
/wazne/
/dlazalogowanych/

w kontrolerze ładujesz this->load->library('auth'); i odpowiednio nią działasz.


--
Potrzebujesz wyciągnięcia danych statystycznych na wszystkie podstrony, uzywasz np. modelu.

w każdym potrzebnym kontrolerze ładujesz this->load->model('statsy');
i używasz np. $this->statsy->pokaz(); przekazując dane do widoku.
hevellius
Aaaaa, myliłem pojęcia myślałem że do każdej funkcji jest komplet widok + model + kontroler, tereaz rozumiem

dzięki normanos

pozdro
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.