UWAGA: Strona zawiera materiały archiwalne. Większość artykułów dotyczy Joomla! 1.0
Start
Prosty szablon na PatTemplate - Wprowadzenie Drukuj Email
Spis treści
Wprowadzenie
Przegląd PatTemplate
Właściwości patTemplate
Prosty przykład
W PHP
Szablon w pętli
Typy szablonów
Przykłady - Typ OddEven
Przykłady - Typ Condition
Przykłady - Typ SimpleCondition
Widoczność szablonu
Linkowanie szablonów
Zmienne globalne
Zakończenie

Szablon w pętli

Kolejny interesujący aspekt patTemplate to zdolność sterowania szablonami za pomocą pętli. Może ona być wykorzystywana na przykład, gdy chcesz zaprezentować na stronie powtarzający się rodzaj wyników pobranych z bazy danych.

Zobaczmy przykład:

 
<patTemplate:tmpl name="body"> 
  <html> 
    <head> 
      <title>Wprowadzenie petli</title> 
    </head> 
    <body> 
     <table> 
       <patTemplate:tmpl name="listaimion"> 
         <tr> 
           <td>{IMIE}</td> 
         </tr> 
       </patTemplate:tmpl> 
     </table> 
    </body> 
  </html> 
</patTemplate:tmpl>

Rozumiesz już z objaśnień wcześniejszych, jak skonstruowany jest ten plik i jak będzie działać. Zapisz ten szablon w pliku pod nazwą "przyklad2.tmpl.html".

Spójrzmy teraz na kod PHP, który zawiera tę nową, interesującą nas część:

<?php 
  // Dolacz plik patTemplate
     include("includes/patTemplate.php"); 
  // Zanicjuj klase patTemplate i utworz nowy obiekt 
     $tmpl = new patTemplate(); 
  // Oznacz katalog, w ktorym umieszczono pliki szablonu. 
     $tmpl->setBasedir("templates"); 
  // Wybierz plik szablonu, ktory ma byc przetwarzany. 
     $tmpl->readTemplatesFromFile("przyklad2.tmpl.html"); 
  // Stworz jednowymiarowa tablice 
     $imiona = array("Piotr", "Jacek", "Robert"); 
  // Powtarzaj do wyczerpania listy
     foreach ($imiona as $imie) { 
     // Zastap zmienna wartosciami pobranymi z tablicy  
        $tmpl->addVar("listaimion", "IMIE", $imie); 
        $tmpl->parseTemplate("listaimion", "a"); 
     } 
  // Przetworz i wypisz szablon 
     $tmpl->displayParsedTemplate("body"); 
?>

Mamy tutaj dwa nowe segmenty kodu, przy których się zatrzymamy, aby przeanalizować ich rolę:

// Stworz jednowymiarowa tablice  
     $imiona = array("Piotr", "Jacek", "Robert");

Korzystając z funkcji PHP array(), zastosowaliśmy tablicę, która zostanie przetworzona za pomocą instrukcji pętli foreach i wypełniliśmy ją imionami.

// Powtarzaj do wyczerpania listy
     foreach ($imiona as $imie) { 
      // Zastap zmienna wartosciami pobranymi z tablicy  
         $tmpl->addVar("listaimion", "IMIE", $imie); 
         $tmpl->parseTemplate("listaimion", "a"); 
     }

Funkcja addVar() przypisuje pobrane z tablicy imiona do zmiennej IMIE. Przygotowuje więc przetworzenie zmiennej przez funkcję parseTemplate(). Drugi parametr funkcji parseTemplate() - "a" można by przetłumaczyć jako "dodaj do" lub "dodaj na końcu". Przetwarza ona szablon, dołączając wynik do części już przetworzonej. Efektem jest dołączenie do listy kolejnych imion.

 // Przetworz i wypisz szablon 
   $tmpl->displayParsedTemplate("body");

Szablon "listaimion" jest dzieckiem albo inaczej potomkiem szablonu "body", bo znajduje się wewnątrz niego. Gdy wywołamy funkcję displayParsedTemplate () na rodzicu, wszystkie potome szablony również zostaną przetworzone i wyświetlone.



Zmieniony ( 07.05.2009. )
 
« poprzedni artykuł   następny artykuł »