Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Szablon - czy i jak?
janusz.master
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 20.05.2007

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


Witam
Problem mam z technika stosowania szablonow(w czystym php).
Mam mala strone strasznie zle napisana, chcialem sie wziac i zrobic w miare porzadnie i ladnie.
Pisze(bynajmniej staram się snitch.gif ) obiektowo. Warstwa bazy danych i ustalania informacji jakos mi idzie, gorzej z przejsciem do wygladu.

Szablony (jesli tak to mozna nazwac) polegaja u mnie na zwyklym dolaczaniu plikow z wygladem strony po zebraniu i ustaleniu informacji.
W index.php mam switcha dla zmiennej okreslajacej podstrone. Po tym switchu mam juz dane.

I teraz wlasnie nie wiem jak to ma wygladac: czy mam miec tez takiego switcha w szablonie i w zaleznosci od podstrony includowac inne podszablony?

Czy moze np. miec klasy np. NewsView które zwracaja kod HTML który zapisuję sobie do zmiennej $tresc np. newsy($tablicaNewsow), cos takiego (jest duzo bledow pewnie w kodzie, ale tym sie nie przejmujcie):
  1. <?php
  2. // index.php:
  3. switch($cat){
  4. case: 'news':
  5. $lista = newsDAO::getNews(5);
  6. $tresc = newsView->view($lista);
  7.  
  8.  
  9. //index.tpl
  10. include('gora.tpl');
  11. echo $tresc;
  12. include('dol.tpl');
  13. ?>
  14.  
  15. // newsView.php
  16. class newsView extends zasobView {
  17. function view(zasob $news)
  18. {
  19. $napis = "Tytul: ".$news->title."<br/>";
  20. $napis .= "Tresc: ".$news->content."<br/>";
  21. if($this->admin) $napis .= "edytuj<br/>";
  22. $napis .= "<br/>";
  23. return $napis;
  24. }
  25.  
  26. function viewAll($newsy)
  27. {
  28. $napis = '';
  29. if(count($newsy) == 0) $napis .= "Brak aktualnosci<br/>";
  30. else {
  31. foreach ($newsy as $news) {
  32. $napis .= $this->view($news);
  33. }
  34. return $napis;
  35. }
  36. }
  37.  
  38. function viewNewsMore(news $news)
  39. {
  40. return $news->content;
  41. }
  42.  
  43. function form(news $news = NULL, $errors = NULL)
  44. {
  45. $napis = '';
  46. $napis .= "Formularz newsa";
  47. return $napis;
  48. }
  49. }

Bo jesli w szablonach wykonywalbym kod bez zadnych funkcji itp to gdybym chcial uzyc podobnego wyswietlania newsa dla admina to musialbym tworzyc osobny szablon w którym byloby prawie to samo.

Jak to ma wygladac?? Nie potrzeba mi strasznie zaawansowanych sposobow, bo strona az taka nie jest.

Ten post edytował janusz.master 24.06.2008, 17:30:03
Go to the top of the page
+Quote Post

Posty w temacie


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 - 07:08