Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] system szablonów
peter13135
post
Post #1





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


mam taką klasę zaporzyczoną z p-zone.pl

  1. <?php
  2. class template
  3. {
  4. var $szablon;
  5. var $lista_zamiennikow;
  6. function Odczytaj($NazwaPliku)
  7. {
  8. //sprawdzanie czy podana ścieżka do pliku nie jest przypadkowo pusta.
  9. assert(!empty($NazwaPliku));
  10. //sprawdzanie, czy istnieje plik fizycznie.
  11. if (!file_exists($NazwaPliku))
  12. {
  13. //jesli nie, to błąd i wyjście z funkcji
  14. trigger_error("No file!", E_USER_ERROR);
  15. return;
  16. }
  17.  
  18. //odczytanie szablonu z pliku.
  19. $this->szablon = @file($NazwaPliku);
  20. //poniewaz dane odczytane przy uzyciu funcji file są w postaci
  21. //tablicy jednowymiarowej: 1 linia z pliku == 1 wiersz tablicy
  22. //dlatego ponizsza linia "skleja" wszystko w calosc
  23. $this->szablon = implode("", $this->szablon);
  24. }
  25.  
  26. function DodajZamiennik($z, $na)
  27. {
  28. //$z - czyli indeks - nie może być pusty.
  29. assert(!empty($z));
  30. $this -> lista_zamiennikow[$z] = $na;
  31. }
  32.  
  33. function ZwrocKodWynikowy()
  34. {
  35. $out = $this->szablon;
  36. //przechodzi po wszystkich elementach zamiennikow..
  37. foreach($this->lista_zamiennikow as $k => $v)
  38. {
  39. // i zamienia poszczegolne elementy.
  40. $out = str_replace("{$k}", $v, $out);
  41. }
  42. //zwraca na zewnątrz wartość wynikową.
  43. return $out;
  44. }
  45. }
  46. ?>


no ale ja chciałbym zrobić w ten sposób

header.tpl - zawsze stały, ten sam dla wszystkich plików
content - ta część stylu jest zmienna includuje inny plik w zależności od skryptu
footer.tpl - tak samo jak header

no a ta klasa pobiera jeden plik i go wyświetla, a w moim wypadku chciałbym pobrać 3 pliki...
Go to the top of the page
+Quote Post

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: 21.12.2025 - 23:30