Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Szablon php - jak wyswietlac?
marcini82
post
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 1
Dołączył: 20.05.2005
Skąd: Poznań

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


Witam!

Postanowilem wykorzystac w projekcie proste szablony php, wykorzystujace uproszczona skladnie. Wszystkie zmienne dla szablonu sa w nim dostepne w tablicy $tpl.
A to przyklad pliku szablonu:
  1. <head>
  2.  <title> <?=$tpl['tytulStrony'];?> </title>
  3.  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4. </head>
  5. <body>
  6. <h3> <?=$tpl['tytul'];?> </h3>
  7. <? require_once('inny_plik_szablonu.php'); ?>
  8.  
  9. i tak dalej


Wymyslilem sobie klase, ktora pozwala na ustawienie tablicy wartosci przekazywanych do szablonu oraz wyswietlenie szablonu:

  1. <?php
  2.  
  3. class Renderer{
  4.  
  5.  // tu jeszcze troche innego kodu
  6.  
  7. function setTpl($index, $data){
  8. $this->tpl[$index]=$data;
  9. }
  10.  
  11. function execute(){
  12. $tpl=$this->tpl;
  13. require_once('plik_szablonu.php');
  14. }
  15. }
  16.  
  17. ?>


Mniej wiecej dziala, ale brak mi pomyslu na rozwiazanie kwestii sciezki dostepu do plikow.
Wszystkie odwolania do zewnetrznych plikow umieszczone w szablonie (np. pliku CSS, includowanie dodatkowego szablonu) sa przez php interpretowane jako linki z poziomu glownego kontrolera aplikacji (index.php), a nie jako pliki w tym samym katalogu co szablon.

Na przylkad:
w pliku /szablon/default/index.php
mam: include('inny_szablon.php');
No i php zamiast includowac plik /szablon/default/inny_szablon.php probuje znalezc /inny_szablon.php, bo glowny kontroler aplikacji to /index.php.

Jak moge to mozliwie prosto rozwiazac?
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: 24.08.2025 - 10:31