Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Code igniter - tworzenia layoutów
Testosteron
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 2
Dołączył: 15.09.2011

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


Witajcie. Jak mogę stworzyć layout do CI? Znalazłem odpowiednią bibliotekę - Simplicity, ale mam z nią problem. Rozpakowałem ją i zawartość katalogu skopiowałem bezpośrednio do katalogu z CI. Struktura katalogów została więc taka, jaka jest przedstawiona tutaj: http://www.grocerycrud.com/codeigniter-simplicity. Przy próbie uruchomienia przykładu, pojawia się błąd - nie odnaleziono biblioteki jquery, która znajduje się w katalogu assets. Katalog ten (wraz z biblioteką) znajduje się bezpośrednio w katalogu z CI. A może znacie jakieś inne sposoby na stworzenie layoutu?

Pytanie drugie. W kontrolerze ustawiam różne warunki walidacji. W zależności od błędu, który napotka skrypt, wyświetla się inny komunikat, np. "użytkownik o takim loginie istnieje już w systemie", "nieprawidłowy format adresu e-mail", itp. Na całej stronie takich błędów moze być kilkaset. Wstępnie komunikaty o błędach umieściłem w kontrolerze, ale jak dojdzie layout, to pewnie po wystąpieniu błędu zobaczę białą stronę z napisem, czego wolałbym uniknąć. W manualu CI widziałem przykład w którym kod z błędem jest umieszczony w oddzielnym pliku widoku i to byłby dobry sposób, gdybym mógł stworzyć jeden plik dla wszystkich komunikatów o błędach, np. rejestracji. Mógłbym wysyłać kod błędu, a instrukcja Switch wyświetlałaby odpowiedni komunikat. Jak to zrobić?

Z góry dzięki za pomoc (IMG:style_emoticons/default/smile.gif)

Ten post edytował Testosteron 13.10.2014, 08:44:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jacobson
post
Post #2





Grupa: Zarejestrowani
Postów: 468
Pomógł: 36
Dołączył: 14.12.2010

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


Może zacznę od drugiego punktu: możesz do błędów użyć flashdata ($this->session->set_flashdata ....)a na stronie zrobic prosty warunek jezeli $this->session->flashdata to wyswietl <p>....</p>


Jeżeli chodzi o pierwszy podpunkt to żeby nie korzystać z zewnętrznych pluginow możesz stworzyć sobie plik template.php w którym zakodujesz sobie header i footer a jako content możesz dać echo $this->load->view($content) i zmienną content przesyłać w metodzie kontrolera czyli

  1. $data['content'] = 'mainPage';
  2. $this->load->view('template', $data);


Możesz również żeby nie powtarzać $this->load->view wszędzie zastosować metodę, która będzie wykonywana zawsze po wykonaniu metody kontrolera w kórej umieścisz ładowanie widoku.
Go to the top of the page
+Quote Post
Testosteron
post
Post #3





Grupa: Zarejestrowani
Postów: 113
Pomógł: 2
Dołączył: 15.09.2011

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


Cytat(jacobson @ 13.10.2014, 21:19:14 ) *
Jeżeli chodzi o pierwszy podpunkt to żeby nie korzystać z zewnętrznych pluginow możesz stworzyć sobie plik template.php w którym zakodujesz sobie header i footer a jako content możesz dać echo $this->load->view($content) i zmienną content przesyłać w metodzie kontrolera czyli

  1. $data['content'] = 'mainPage';
  2. $this->load->view('template', $data);


Możesz również żeby nie powtarzać $this->load->view wszędzie zastosować metodę, która będzie wykonywana zawsze po wykonaniu metody kontrolera w kórej umieścisz ładowanie widoku.


Ten sposób poskutkował, chociaż bawienie się modelem mvc nie przychodzi mi jeszcze łatwo i pewnie dużo czasu upłynie, zanim zacznę się swobodnie w tym poruszać. W tym przykładzie łądujesz drugi widok. Co zrobić, jeśli tworzę skrypt php?
Cytat(tzm @ 13.10.2014, 22:31:38 ) *
2) jesli chodzi o jedna strone dla wszystkich bledow... to generalnie jak znasz jquery zachecal bym doinstalowac do wyzej wymienionej paczki angularjs i poczytac troszke o ajaxie / single app page wtedy w ogole nic nie przeladowujesz, caly widok ladujesz raz i tylko routery podmieniasz i data bindings ajaxem.

JQuery zacząłem się uczyć, ale wyjechałem do pracy za granicę, więc musiałem przerwać naukę. Po powrocie zająłem się nauką CI, ale JQuery też chcę się nauczyć. Moja wiedza na dzień dzisiejszy jest skromna, ale mógłbym stworzyć plik widoku z ukrytymi elementami i włączać widoczność wyłącznie w przypadku wystąpienia danego błędu.

Pliki, takie jak - style CSS, js, biblioteka JQuery powinna być umieszczona w pliku z widokami i normalnie załadowana?


Nie sprawdziłem jeszcze wszystkich rzeczy o których mi napisaliście, ponieważ byłem cały dzień na uczelni. Zajmę się tym jutro.

Ten post edytował Testosteron 14.10.2014, 20:43:59
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: 4.10.2025 - 10:06