Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Kohana] Template i widoki - jak to się robi?, Trochę lamerskie pytanie
croc
post 20.11.2010, 23:16:35
Post #1





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Witajcie,

ciągle nie rozumiem jak powinno się prawidłowo używać template i widoków w kohanie. Załóżmy, że robię stronę z recenzjami aparatów fotograficznych (bo robię). Mam już template z szablonem całej strony, którego kontroler dziedziczy po Controller_Template. Teraz chciałbym porobić poszczególne podstrony, np. podstronę samej recenzji. Domyślam się, że najlepiej, by miała swój własny kontroler i widok. Ale jak połączyć je z template? Czy kontroler tego widoku powinien dziedziczyć po moim template? Bardzo proszę o wytłumaczenie mi tego, bo tutoriale, które znalazłem, odnoszą się do zbyt prostych przykładów i nie rozwiewają moich wątpliwości. Zatem mam:

  • kontroler main.php, który dziedziczy po Controller_Template. Kontroler ten ustawia kilka zmiennych w metodzie before() na zasadzie $this->template->title = 'Tytuł';
  • widok template - treść środkową podaję w zmiennej $content
  • kontroler review.php
  • widok review.php, zawierający kod, który ma się znaleźć w $content


Jako że raczkuję w tej tematyce, proszę o wytłumaczenie mi jak to się robi na moim przykładzie smile.gif Odwdzięczę się punktem "pomógł".
Go to the top of the page
+Quote Post
nmts
post 20.11.2010, 23:41:23
Post #2





Grupa: Zarejestrowani
Postów: 283
Pomógł: 34
Dołączył: 21.03.2008

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


W main.php w klasie dziedziczącej po Controller_Template definiujesz za pomocą $template swój szablon czyli:
  1. protected $template = 'nazwa_szablonu';


W innych kontrolerach dziedziczących po Twojej klasie z main.php czy w samym main.php ładujesz widok do zmiennej i przekazujesz do szablonu czyli np.

  1. $podstrona = view::factory('review')->set('zmienna_dla_review', $zmienna_dla_review);
  2. $this->template->content= $podstrona;

Teraz w nazwa_szablonu.php umieszczasz $content, która wyświetli widok z review.php , natomiast w review.php możesz umieścić zmienną $zmienna_dla_review.

Powyższe oczywiście dla włączonego automatycznego renderowania widoków. Nie ma tu żadnej skomplikowanej filozofii.


--------------------
Free Web Tools - narzędzia dla programistów, webdeveloperów i specjalistów seo...
Go to the top of the page
+Quote Post
croc
post 20.11.2010, 23:53:22
Post #3





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

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


Czyli powszechnie spotykaną praktyką jest to, że wszystkie kontrolery widoków (które mają zostać przekazane do szablonu) dziedziczą po kontrolerze template?
Go to the top of the page
+Quote Post
kbsucha
post 21.11.2010, 11:11:51
Post #4





Grupa: Zarejestrowani
Postów: 113
Pomógł: 19
Dołączył: 2.08.2007

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


Ogólnie tak. Polecam, w przypadku takich FW jak Kohana, posiłkować się kodem z przykładowych projektów Open Source np. Kohanut (oni dziedziczą po Admin, ale to to samo bo on zajmuje się także widokiem). Kod w przypadku młodych projektów nie jest tam zbyt skomplikowany i można popatrzyć jak inni rozwiązują pewne sprawy.


--------------------
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 Wersja Lo-Fi Aktualny czas: 24.06.2025 - 23:56