[CodeIgniter] base MY_Controller problem |
[CodeIgniter] base MY_Controller problem |
13.05.2011, 09:45:26
Post
#1
|
|
Grupa: Zarejestrowani Postów: 468 Pomógł: 36 Dołączył: 14.12.2010 Ostrzeżenie: (0%) |
Witam, mam taki problem, że stworzyłem sobie "rozszerzenie" CI_controllera
jego glownym zadaniem jest przeslanie zmiennej data['credits'] do mojego kontrolera strony ktory go "extenduje", zeby z niego przeslac zmienna $data do widoku $this->load->view('includes/template', $data); zrobilem prosty template do ktorego z mojego kontrolera strony wysylany jest $data['main_content'] ktory odpowiada za tresc strony aktualnie wyswietlanej i to dziala spoko. Problem sie pojawia gdy chce wypisac zmienna $credits w widoku, bo wtedy mowi mi, że jej nie widzi. korzystalem z tego artykulu http://philsturgeon.co.uk/blog/2010/02/Cod...-Keeping-it-DRY w nim autor napisal ze zeby wszystkie kontrolery dziedziczace mialy dostep do zmiennych nalezy je podac w formie $this->data['credits'] ....... Czy ktos moze wie gdzie lezy problem i potrafilby mi pomoc ? pozdrawiam Jeszcze moze powiem co chce zrobic to moze zamiast tego rozwiazania ktos znalby lepsze Otoz majac ten swoj "template" mam w nim header ktory loaduje rowniez login_bar. Ten login bar tak czy siak wystepuje na kazdej stronie. W nim mam funkcje sprawdzajaca czy jest uzytkownik zalogowany (wtedy pojawia sie menu) czy tez nie (wtedy pojawiaja sie pola login i haslo). Po zalogowaniu pojawia sie komunikat " Witam, (tu z sesji username) jestes zalogowany" i chcialbym zeby po tym rowniez pokazany byl jego stan konta (pobrany przez model z bazy). Ten post edytował jacobson 13.05.2011, 10:00:05 |
|
|
13.05.2011, 09:52:34
Post
#2
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 20 Dołączył: 2.03.2006 Ostrzeżenie: (0%) |
Hm ale dziedziczenie po kontrolerze MY_Contoller Ci Działa tak?
Chcesz mieć dostęp do jakiś zmiennych w Kontrolerach dziedziczących po MY_Controller? Dobrze rozumiem?
I potem będziesz miał dostęp to zmiennej/pola $this->data w kontrolerach które dziedziczą po MY_Controller. Nie polecam ci wyświetlać $this->data w widoku, lepiej przekazać normalnie zmienna do widoku. O to chodziło? Dobrze zrozumiałem. -------------------- |
|
|
13.05.2011, 22:36:42
Post
#3
|
|
Grupa: Zarejestrowani Postów: 468 Pomógł: 36 Dołączył: 14.12.2010 Ostrzeżenie: (0%) |
tak dokladnie o to mi chodzilo, dziekuje bardzo za pomoc.
a rozumiem ze Tworzac taki kontroller MY_Controller i tam deklarujac to $this->data['credits'] i tak musze w moim kontrolerze przypisac to do wlasnego $data['credits'] = $this->data['credits'] nie da sie w jakis sposob zadeklarowac tego $data['credits'] zeby w kontrolerze samo wywolanie widoku z przeslaniem $data wystarczylo ? Ten post edytował jacobson 13.05.2011, 22:39:48 |
|
|
14.05.2011, 08:41:33
Post
#4
|
|
Grupa: Zarejestrowani Postów: 165 Pomógł: 20 Dołączył: 2.03.2006 Ostrzeżenie: (0%) |
Tzn, w widoku jak dasz $this->data['credits']; to powinno zadziałać bo dostęp do niej jest publiczny, więc raczej nie powinno być problemu, ale lepiej tego nie stosować, lepiej przekazywać zmienne w formie tablicy.
-------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 13:20 |