Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CodeIgniter]Główny szablon strony
adbacz
post
Post #1





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


Witam,

Od jakiegoś czasu zaznajamiam się z CodeIgniterem i cały czas ubolewam nad tym, jak zrobić główny szablon strony, do którego poszczególne widoki byłyby wysyłane i wyświetlane w nim? Tak samo z tytułami, jak zrobić, żeby każda podstrona serwisu miała inny tytuł?

Nie czepiajcie się ale ja na prawdę nie mam zielonego pojęcia. Jeśli macie jakieś pytania to z chęcią odpowiem.
Go to the top of the page
+Quote Post
szok
post
Post #2





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

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


2 wynik w google

http://codeigniter.com/wiki/layout_library/

Jeśli chodzi o tytuły to zrób sobie w layocie
<title><?php echo $pagetitle; ?></title>
I potem przekazuj w tablicy do widoku pagetitle, wtedy będziesz miał każdy inny tytuł strony.


--------------------
Go to the top of the page
+Quote Post
adbacz
post
Post #3





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


No dobrze, ale jak zrobić aby na stronę ładował się więcej niż jeden kontroler? Powiedzmy, że na stronie głównej mam w treści głównej jakiś artykuł. Pod nim jest kontroler z komentarzami. Po prawej stronie kilka menu (ostatnie artykuły, menu użytkownika) i po lewej kilka (menu strony, jakieś linki). Jak to wszystko ładnie zebrać, żeby sie wyświetlało na stronie głównej?

Trzeba zmodyfikować jakoś ten szablon główny, który jest opisany w podanym linku?
A może napisać główny kontroler, który będzie tym zarządzał?

PS: szok - Jak wpisałeś zapytanie dla google?

Ten post edytował adbacz 4.05.2011, 15:31:39
Go to the top of the page
+Quote Post
szok
post
Post #4





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

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


Google:
http://www.google.pl/search?sourceid=chrom...eigniter+layout

Hm ja sie stosuje zasady, jeden layout i koniec, bez budowania go z kilku elementów bo to niema potrzeby specjalnie po to obciązać serwer aby składał sobie layout z 5 plików jak może z jednego.

Jak chcesz sobie rodzielić to np zrób biblioteki które generuje komentarze, itp i ładuj się w kontrolerze.

Layout musisz tylko dopasowac pod Siebie, modfikacji kodu PHP nie wymaga.


--------------------
Go to the top of the page
+Quote Post
adbacz
post
Post #5





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


Jest świetnie. Zastosowałem sie do Twoich wskazówek szok. Wyedytowałem sobie wszystko, pododawałem conieco. Teraz następne pytanie mnie zżera.

Jak zrobić, by wraz z wyświetlaniem głównego layoutu z treścią, wyświetlane były również boczne menu? I nie chodzi mi o zwykłe menu z linkami ale np o menu, w którym są wyświetlane ostatnie artykuły. Tym menu steruje kontroler. Jak zrobić, żeby razem z generowaniem głównej treści, generował się dodatkowo kontroler wyświetlający najnowsze artykuły?

Myślałem, żeby ładować zapytanie kontrolera od razu w głównym widoku, ale nie mogę znaleźć jak to napisać. Model: $this->load->model(), Widok: $this->layout->view(), a kontroler?


Go to the top of the page
+Quote Post
szok
post
Post #6





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

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


Hm ostanie newsy w bloku menu?
Powiedzmy masz model news to w kontrolerze daj:
Kod
$data['last_news'] = $this->News_model->get_last_news();

//i w layoucie w miejscu gdzie ma byc wyśweitlone

if(isset($last_news))
{
   foreach($last_news as $item)
  {
     echo $item['title'];
  }
}


I po kłopocie, to jest tylko wyświetlenie treści z bazy danych. Kontroler ma za zadanie przekazać je do widoku, a widok wyświetlić.

PS.
Widoki możesz łądować do zmiennych, poprzez:
Kod
$menu = $this->load->view('mojwidok', $data, TRUE);
I potem np wyśweitlić zawartość całego menu w bloku menu poprzez <?php echo $menu; ?>


Trochę nakręciłem, ale mam nadzieje że zrozumiesz moją intencję smile.gif


--------------------
Go to the top of the page
+Quote Post
adbacz
post
Post #7





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

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


Dzięki Ci wielkie SZOK!

Wszystko hula jak napisałeś. Zrobiłem sobie zapytanie do bazy w widoku i ładnie mi listuje (foreach) wszystkie artykuły.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 01:11