![]() |
Code Igniter - dołączanie kontrolera do widoku - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych) +--- Wątek: Code Igniter - dołączanie kontrolera do widoku (/thread-code-igniter-dolaczanie-kontrolera-do-widoku) |
Code Igniter - dołączanie kontrolera do widoku - Kazuhiro - 27-10-2014 Witajcie! Ostatnio uczę się CI, ale napotkałem na pewien problem. Stworzyłem layout i w jednym divie chcę umieścić kontroler. W przypadku, gdy zostanie znaleziony plik cookie, bądź sesja została zainicjowana, pokazuje menu usera, w przeciwnym wypadku wyświetla prośbę o zalogowanie się, bądź rejestrację. Nic specjalnie skomplikowanego. Napisałem taki skrypt (kontroler), jednak mam problem z umieszczeniem go w widoku (layoucie). Próbowałem nawet includować ten skrypt w widoku (co wiązało się ze zmianą ustawień php.ini [allow_url_string] i mam wrażenie, że nie jest to zbyt bezpieczne). Niby skrypt został umieszczony poprawnie, jednak przestał spełniać swoją podstawową rolę, tj. bez względu na to, czy ciasteczko zostało utworzone, czy nie - zachęca do rejestracji. Zaznaczam, ze jest to moje pierwsze spotkanie z MVC. Szukałem odpowiedzi na to pytanie w manualu, a także czytałem ogólne informacje na temat MVC. RE: Code Igniter - dołączanie kontrolera do widoku - msx83 - 29-10-2014 Witam. Nie kontroler umieszczasz w layoucie tylko na odwrót. Jak sama nazwa wskazuje kontroler, kontroluje czy jesteś zalogowany czy nie (ciasteczko ustawione lub brak ciastka) i na tej podstawie wyświetla odpowiednie div-y (layout, formularz rejestracyjny lub logowania). Pokarz kod, to może ktoś pomoże. Pozdrawiam RE: Code Igniter - dołączanie kontrolera do widoku - Kazuhiro - 29-10-2014 (29-10-2014, 22:31)msx83 napisał(a): Witam.Wiem o to chodzi, jednak jeśli spróbuję umieścić w widoku zmienną i wysłać do niej wynik funkcji, to jest ona wyrzucana nad <html>. Wiem, że ten kod nie jest jeszcze dopracowany - zmieniałem go już kilka razy, sprawdzając, czy zadziała. Dlatego na razie traktuję go raczej jako szkielet, niż gotowy kod: Kod PHP: function log_user(){ Na tym przykładzie nawet widać, że próbowałem wywołać testową funkcję z samym widokiem, niestety... nic to nie dało. RE: Code Igniter - dołączanie kontrolera do widoku - msx83 - 30-10-2014 Jeżeli są to metody jakiejś klasy, to pół bidy, ale jeżeli próbujesz odpalić to inaczej to ja wysiadam. Metoda "Index" w klasach CI jest wywoływana automatycznie, tak więc w tym kodzie próbujesz do elementu "log" tablicy "data" przekazać zawartość metody "test", która wywołuje widok "testowy", który z kolei i tak jest źle zwracany przez metode, bo powinien wyglądać mniej więcej tak: Kod PHP: function test(){ Pozdrawiam. RE: Code Igniter - dołączanie kontrolera do widoku - Kazuhiro - 30-10-2014 Oczywiście kod znajduje się w klasie, ale pokazanie tego nie było już istotne. Wszystko działa, dzięki ![]() RE: Code Igniter - dołączanie kontrolera do widoku - msx83 - 30-10-2014 RE: Code Igniter - dołączanie kontrolera do widoku - Kazuhiro - 31-10-2014 RE: Code Igniter - dołączanie kontrolera do widoku - msx83 - 31-10-2014 Nie szkodzi. Utwórz np. Mian_Controller.php Kod PHP: Class Main_Controller extends CI_Controller { Kod PHP: Class Inny_Controller extends Main_Controller { RE: Code Igniter - dołączanie kontrolera do widoku - Kazuhiro - 31-10-2014 (31-10-2014, 16:12)msx83 napisał(a): Nie szkodzi. Wielkie dzięki |