Prosty szablon na PatTemplate Zmieniony 07.05.2009.



Podobne dokumenty
Nawigacja to nie tylko menu Zmieniony

Serwer WWW i ustawienia PHP Zmieniony

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

Zajęcia 10 obsługa formularzy w PHP

Smarty PHP. Leksykon kieszonkowy

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Podstawy JavaScript ćwiczenia

Przewodnik... Tworzenie Landing Page

Fundusz porä czeå unijnych BGK

WYKŁAD 1 SYSTEMY CMS CZĘŚĆ 1

Tworzenie aplikacji internetowych E14

Licencja GNU/GPL Zmieniony

PHP: bloki kodu, tablice, obiekty i formularze

Firma Informatyczna JazzBIT

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Zasady tworzenia podstron

Przedmiot: Projektowanie dokumentów WWW. Laboratorium 3: Strona domowa cz. III Formularze. Opracował: Maciej Chyliński

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

I.Wojnicki, PHP. Smarty. Igor Wojnicki. Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie. 28 marca 2014

Laboratorium 1 Wprowadzenie do PHP

Laboratorium 7 Blog: dodawanie i edycja wpisów

BIBLIOTEKA LOKALNE CENTRUM WIEDZY PRAKTYCZNEJ PRZEWODNIK PO NARZĘDZIACH WARSZTAT NR 1: ARKUSZE KALKULACYJNE - MINI SKRYPT

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

W wyświetlonym okienku New Web Server Application wybierz opcję Web App Debugger Executable, a w polu Class Name wpisz: P1.

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Ćwiczenie 6.5. Otwory i śruby. Skrzynia V

WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH

SZABLONY KOMUNIKATÓW SPIS TREŚCI

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

1 Podstawy c++ w pigułce.

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

2 Podstawy tworzenia stron internetowych

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Konfiguracja globalna: edytor ustawieå

SSK - Techniki Internetowe

ZMIENNE. Podstawy PHP

Formularze Pobierają dane od użytkownika strony i wysyłają je do przetworzenia na serwerze (gdzie potrzebne są skrypty,któredaneprzetworzą najczęściej

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Programowanie CGI. Jolanta Bachan Informatyka

Celem tego projektu jest stworzenie

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

============================================================================

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

ECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0

REFERAT O PRACY DYPLOMOWEJ

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Zmienne i stałe w PHP

Formularze i ramki w HTML

Pracownia internetowa w ka dej szkole (edycja 2004/2005)

Kadry Optivum, Płace Optivum

Aplikacje internetowe i rozproszone - laboratorium

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Bazy Danych i Usługi Sieciowe

5. Kliknij teraz na ten prostokąt. Powinieneś w jego miejsce otrzymać napis. Jednocześnie została wywołana kolejna pozycja menu.

1. Przypisy, indeks i spisy.

Facelets ViewHandler

Bydgoskie Centrum Archiwizacji Cyfrowej sp. z o.o.

I. Dlaczego standardy kodowania mailingów są istotne?

Wikispaces materiały szkoleniowe

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Wykład 8: klasy cz. 4

ECDL/ICDL Zaawansowane przetwarzanie tekstów Moduł A1 Sylabus, wersja 2.0

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin

XII. Warunek wielokrotnego wyboru switch... case

Programowanie w języku Python. Grażyna Koba

Podstawowe znaczniki języka HTML.

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1)

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

Pracownia internetowa w ka dej szkole (edycja 2004/2005)

edycja szablonu za pomocą programu NVU

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

1. Zaczynamy! (9) 2. Edycja dokumentów (33)

Generated by Foxit PDF Creator Foxit Software For evaluation only. System Szablonów

Wtedy wystarczy wybrać właściwego Taga z listy.

EBSCOhost Wyszukiwanie podstawowe dla Bibliotek akademickich

System Obsługi Zleceń

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Przykłady pytań do zaliczenia programu wykonywanego w ramach zajęć laboratoryjnych 6-8 z Programowania komponentowego w Javie. Zofia Kruczkiewicz

World Wide Web? rkijanka

XML extensible Markup Language 7

Programowanie WEB PODSTAWY HTML

1 Podstawy c++ w pigułce.

timetrack Przewodnik Użytkownika timetrack Najważniejsze Funkcje

Informacje dla pracodawcãłw (środa, 23 luty 2005) - NapisaÅ Administrator - Ostatnia zmiana: (czwartek, 15 grudzień 2005)

e-wsparcie Barbara Muszko Aktualizacja Twojej witryny internetowej tak prosta, jak obsługa Worda

Umieszczanie kodu. kod skryptu

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Dokumentacja Użytkownika Systemu

Laboratorium 6 Tworzenie bloga w Zend Framework

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;

Kompozycja Proceduralna

USTAWA O OCHRONIE DANYCH OSOBOWYCH

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

Trochę o plikach wsadowych (Windows)

Transkrypt:

Prosty szablon na PatTemplate Zmieniony 07.05.2009. PatTemplate jest potä żnym i elastycznym systemem, umoå¼liwiajä cym tworzenie szablonã³w dla witryn opartych na PHP. Zapoznaj siä z tå umaczeniem artykuå u Havarda Lindseta: Simple PHP Templates With PatTemplate. Wprowadzenie JeÅ li kiedykolwiek tworzyå eå duå¼y serwis oparty na PHP, zapewne przekonaå eå siä, jak niewygodne jest Å Ä czenie w skryptach kodu PHP i HTML. Sytuacja komplikuje siä, gdy musisz zmodyfikowaä serwis. Bardzo trudno jest wprowadzaä zmiany zarã³wno w kodzie, jak i ukå adzie graficznym. W takich przypadkach z pomocä przychodzä systemy szablonã³w. System szablonã³w to mechanizm umoå¼liwiajä cy caå kowite oddzielenie projektu graficznego (warstwy prezentacji) od kodu aplikacji (warstwy aplikacji i warstwy bazy danych). Ich rozdzielenie sprawia, że kod apliacji jest czytelniejszy, jej konserwacja prostsza i bardziej efektywna, a życie i programistã³w i twã³rcã³w WWW Å atwiejsze. Joomla! jest zaprojektowane tak, aby korzystaä z systemu pattemplate. PatTemplate jest potä żnym i elastycznym systemem, umoå¼liwiajä cym tworzenie szablonã³w dla witryn opartych na PHP. Poniższy artykuå jest tå umaczeniem opracowania Havarda Lindseta. OryginaÅ znajdziesz pod adresem: Simple PHP Templates With PatTemplate. Autor objaå nia szczegã³å y i podaje przykå ady, jak stosowaä pattemplate z PHP. Niektóre partie artykuå u zostaå y nieco rozszerzone dodatkowymi objasnieniami. {mospagebreak heading=wprowadzenie&title=przeglä d PatTemplate } Kiedy zaczynaå em swoje poszukiwania silnika szablonu, ktã³ry chciaå em stosowaä w swoich serwisach, zaleå¼aå o mi na nastä pujacych cechach: - Å atwy w uå¼yciu - Å atwy w nauce - wspierany przez rã³å¼ne przeglä darki ZdecydowaÅ em siä na silnik pattemplate, stworzony i rozwijany przez Stephana Schmidta. Możesz pobraä go bezpå atnie z http://www.php-tools.de. ZachÄ cam CiÄ do pobrania go, zanim zaczniesz czytaä dalej.przeglä d PatTempl Pierwsze, co zauwaå¼aå em w pattemplate, to prostota stosowania. TworzÄ c szablon, dzielisz swã³j dokument na rã³å¼ne czä Å ci, uå¼ywajä c znacznikã³w XML. Oto przykå ad szablonu: <pattemplate:tmpl name="artykul"> <title>pattemplate: Przyklad szablonu</title> <h3>{naglowek}</h3> {ZAWARTOSC} Podczas analizy tego pliku pattemplate szuka zmiennych i zastä puje je skojarzonymi z nimi wartoå ciami. W tym przypadku {NAGLOWEK} i {ZAWARTOSC} sä zmiennymi. Na nastä pnej stronie zobaczymy, jak moå¼na wstawiaä "wartoå ci" zastä pujä ce te zmienne. Przekonasz siä, jak Å atwo stworzyä szablon. {mospagebreak title=wå aå ciwoå ci pattemplate} Poniżej kilka kluczowych wå aå ciwoå ci pattemplate (tå umaczenie ze strony projektu pattemplate): - zastosowanie specjalnych znacznikã³w XML oddzielajä cych dokument od szablonu (grafiki) - dowolna iloå Ä szablonã³w na stronie, - czytanie z prostych plikã³w HTML - zmienne lokalne i globalne - automatyczne powtarzanie szablonã³w tworzä cych listy (wykazy) - automatyczne tworzenie alternatywnych wierszy w wykazach dziä ki zastosowaniu szablonu typu OddEven - automatyczne numerowanie list - szablony mogä zawieraä szablony potomne - szablony potomne wå Ä czane warunkowo

- usuwanie lub zastä powanie nieuå¼ywanych zmiennych HTML - ukrywanie/pokazywanie szablonã³w w dokumencie - odczytywanie plikã³w zewnä trznych z parsowaniem i bez parsowania - usuwanie biaå ych znakã³w zmniejszajä ce rozmiar kodu - wielokrotne uå¼ywanie szablonu w dokumencie przez linkowanie - cytowanie znacznikã³w szablonu umoå¼liwiajä ce wå Ä czanie jednego szablonu w drugi, dziä ki czemu wynik przetworzenia drugiego szablonu doå Ä czany jest do czä Å ci juå¼ przetworzonej. - tworzenie w dowolnym edytorze ASCI (HTML, txt, XML, LaTex, etc.) {mospagebreak title=prosty przykå ad}prosty przykå ad Przyjrzyjmy siä zaprezentowanemu wczeå niej przykå adowi. Jest on doå Ä prosty, ale objaå niä kaå¼dä jego czä Å <pattemplate:tmpl name="artykul"> <title>przyklad pattemplate</title> <h3>{naglowek}</h3> {ZAWARTOSC} ObjaÅ nijmy kolejne czä Å ci.<pattemplate:tmpl name="artykul"> To jest znacznik poczä tkowy definiujä cy szablon. W tym przypadku skå ada siä on z nawiasu trã³jkä tnego (<), okreå le przestrzeni nazw (pattemplate), nazwy znacznika tworzä cego szablon (tmpl), atrybutu (name) oraz nawiasu trã³jkä tnego zamykajä cego (>). Atrybut name okreå la nazwä szablonu. Nazwa musi byä unikalna. BÄ dzie wykorzystywana jako adr szablonu. {NAGLOWEK} To jest zmienna. Zmienne okreå la miejsce, w ktã³rym podczas przetwarzania szablonu zostanie wstawiona faktyczna zawartoå Ä, skojarzona ze zmiennä. Zmienna musi byä zapisana WIELKIMI literami. Może zawieraä tylko znaki alfabet cyfry i podkreå lenia (_). Zawsze jest zamkniä ta nawiasami klamrowymi To jest znacznik koå cowy. Wskazuje koniec szablonu pattemplate. SkÅ ada siä z otwierajä cego nawiasu trã³jkä tnego, ukoå nika, nazwy elementu wraz z okreå leniem przestrzeni nazw i nawiasu zamykajä cego. Znacznik koå cowy nie zawiera atrybutã³w, a nazwa elementu musi byä dokå adnie taka sama, jak umieszczona w znaczniku poczä tkowym. Jeżeli uå¼ywasz XML, to sens tego znacznika powinien byä dla Ciebie oczywisty. W nastä pnej sekcji zobaczymy, w jaki sposã³b zastä piä zmienne faktycznä zawartoå ciä. Zanim jednak przejdziemy zapisz powyå¼szy przykå ad jako "przyklad1.tmpl.html". {mospagebreak title=w PHP}W PHP Tymczasem zrã³bmy niewielki przeskok i na innym przykå adzie zobaczmy, jak stosowaä pattemplate w PHP:<?php $tmpl->readtemplatesfromfile("przyklad1.tmpl.html"); // Dodaj do szablonu zmienne $tmpl->addvar("artykul", "NAGLOWEK", "To jest naglowek"); $tmpl->addvar("artykul", "ZAWARTOSC", "A to jest zawartosc..."); $tmpl->displayparsedtemplate("artykul"); Jak widziesz w powyå¼szym przykå adzie, korzystanie z pattemplate jest doå Ä logiczne. Spójrzmy na kaå¼dy element powyå¼szego kodu: include("pattemplate.php");

Ten krok jest zapewne oczywisty. Wszystko, co robi, to wå Ä cza plik pattemplate. // Zanicjuj klase pattemplate i utworz nowy obiekt Ten fragment inicjuje klasä pattemplate klasä i tworzy nowy obiekt - instancjä klasy. // Oznacz katalog, w ktorym umieszczono pliki szablonu. Funkcja SetBasedir () wskazuje, w ktã³rym miejscu znajdujä siä pliki z szablonami. // Wybierz plik szablonu, ktory ma byc przetwarzany. $tmpl->readtemplatesfromfile("przyklad1.tmpl.html"); Funkcja ReadTemplatesFromFile () wskazuje pattemplate, w ktã³rym pliku znajduje siä szablon.// Dodaj do szablonu zmienne $tmpl->addvar("artykul", "NAGLOWEK", "To jest naglowek"); $tmpl->addvar("artykul", "ZAWARTOSC", "A to jest zawartosc..."); Te dwie linie zawierajä zmienne, ktã³re po przetworzeniu szablonu zostanä zastä pione faktycznä zawartoå ciä. Funkcja AddVar () wymaga trzech parametrã³w: addvar(nazwa_szablonu, nazwa_zmiennej i wartosc_zmiennej)// Przetworz (parsuj) i wypisz szablon na ekranie $tmpl->displayparsedtemplate("artykul"); Ta funkcja przetwarza szablon (wykonuje wszystkie zawarte w nim instrukcje), a nastä pnie wyå wietla go na ekranie. Po tym wprowadeniu powinieneå rozumieä podstawy dziaå ania pattemplate. Dalej przejdziemy do rzeczy nieco bardziej skomplikowanych. {mospagebreak title=szablon w pä tli} 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: <title>wprowadzenie petli</title> <table> <pattemplate:tmpl name="listaimion"> <tr> <td>{imie}</td> </tr> </table> 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

$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"); } 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 fore 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å Ä listy kolejnych imion. 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. {mospagebreak title=typy szablonã³w}typy szablonã³w NastÄ pnä interesujä cä rzeczä w pattemplate jest moå¼lwoå Ä wyboru rã³å¼nych typã³w do Twojego szablonu. W dokonujesz, dodajä c atrybut deklarujä cy wybrany typ do znacznika otwierajä cego <pattemplate:tmpl>. Możesz wybraä jeden z czterech typã³w. ObjaÅ niä, co kaå¼dy z nich robi wypisami z dokumentacji pattemplate.standard To typ domyå lny, wybierany zawsze, gdy atrybut type zostanie pominiä ty. Innymi så owy moå¼esz ten typ okreå liä tak: <pattemplate:tmpl name="body" type="standard"> To jest szablon. albo pominä Ä atrybut zupeå nie: To jest szablon. Oba zapisy przynisä taki sam efekt. OddEven Gdy przypiszesz szablonowi ten typ, moå¼esz wstawiä dwa subszablony parzysty-nieparzysty: <pattemplate:sub>. Subszablony sä uå¼ywane naprzemiennie, gdy szablon jest powtarzany (np. jaå niejszy i ciemniejszy wiersz tabeli).condition PrzypisujÄ c szablonowi ten typ, moå¼esz wå Ä czaä tyle subszablonã³w, ile zechcesz. WyÅ wietlenie szablonu w tym przypadku zaleå¼y od wystä pienia okreå lonego warunku.

Musisz przypisaä jednä zmiennä, ktã³ra bä dzie porã³wnywana ze wszystkimi subszablonami warunkowymi. SÄ dwa specjalne warunki: - default (domyå lny, podobnie jak default w przypadku instrukcji switch w jä zyku PHP) oraz - empty (pusty), ktã³ry zostanie wybrany, gdy nie zostanie okreå lony żaden warunek. SimpleCondition W typie SimpleCondition moå¼esz zdefiniowaä kilka wymaganych warunkã³w. SimpleCondition nie zawiera żadnych subszablonã³w. Szablon bä dzie widoczny tylko wtedy, gdy speå nione zostanä wszystkie zmiennee warunkowe. Uwaga: aby zdefiniowaä zmienne, musisz uå¼yä atrybutu requiredvars. Zmienne oddzielasz przecinkami. Przyjrzyjmy siä dokå adniej kaå¼demu z tych typã³w, z wyjä tkiem typu Standard, ktã³rego dwa przykå ady juå¼ widzieliå {mospagebreak title=przykå ady - Typ OddEven}OddEven Chcesz tabelä z wierszami w dwu alternatywnych kolorach? W pattemplate osiä gasz ten efekt bardzo Å atwo, bez skomplikowanego kodu, korzystajä c z szablonu typu OddEven! <title>alternatywne kolory</title> <table> <pattemplate:tmpl name="listaimion" type="oddeven"> <pattemplate:sub condition="odd"> <tr> <td bgcolor="#ebeef3">{imie}</td> </tr> <pattemplate:sub condition="even"> <tr> <td bgcolor="#fff2cc">{imie}</td> </tr> </table> Szablon jest caå kiem prosty. Mamy tutaj zwykå y znacznik pattemplate, z tym że zawiera on atrybut przypisujä cy typ - OddEven. WewnÄ trz znacznika sä dwa subszablony - alternatywne. Zapewne zauwaå¼yå eå, że jeden z nich ma warunek "Odd" (nieparzysty), a drugi "Even" (parzysty). Oto kod PHP przetwarzajä cy ten szablon:<?php $tmpl->readtemplatesfromfile("przyklad3.tmpl.html"); // Utworz tablice z imionami $imiona = array("imie" => array("piotr", "Jacek", "Robert", "Maciek", "Anna", "Karolina")); // Dodaj tablice $tmpl->addvars("listaimion", $imiona); $tmpl->parsetemplate("listaimion"); ObjaÅ nienia wymaga tutaj konstrukcja tablicy: "IMIE" => array() oraz funkcja addvars().

Zastosowana zostaå a tutaj tablica wielowymiarowa. Tablica ta przypisuje do zmiennych indeksy (klucze). Gdybym chciaå uå¼yä innych zmiennych, mã³gå bym zapisaä to w nastä pujä cy sposã³b:<?php array("imie" => array("piotr", "Jacek", "Robert", "Maciek", "Anna", "Karolina"), "INNEZMIENNE" => array("wartosc1", "wartosc2")); Funkcja AddVars () jest tablicä jednowymiarowä z wieloma zmiennymi. {mospagebreak title=przykå ady - Typ Condition}Typ Condition Typ Condition dziaå a na takiej samej zasadzie, jak instrykcja switch w PHP. WywoÅ anie subszablonu jest zalezne od wystä pienia okreå lonego warunku wymienionego w szablonie warunku conditionvar. Tutaj jest przykå ad szablonu: <?php <title>warunkowe odwiedzanie - odwiedziny</title> <form action="przyklad4.php"> <select name="imie"> <option value="karol" SELECTED>Karol</option> <option value="anna">anna</option> <option value="henryk">henryk</option> </select> <input type="submit"> </form> <pattemplate:tmpl name="pozdrowienie" type="condition" conditionvar="imie"> <pattemplate:sub condition="anna"> Witam pana kierownika Karola. Co slychac? <pattemplate:sub condition="karol"> Witaj Anno! Prosze natychmiast wytrzec podloge! <pattemplate:sub condition="default"> Witaj nam, gosciu serdeczny! Jak masz na imie? <pattemplate:sub condition="empty"> Nie widze nikogo! Gdzie jestescie? Jak widzisz, to rzeczywiå cie Å atwe. Możesz tworzyä dowolnä iloå Ä opcji dla conditionvar dziä ki podszablonom. JeÅ warunek zgadza siä z conditionvar, zawartoå Ä szablonu zostanie wyå wietlona. Tutaj jest kod PHP do tego przykå adu:<?php $tmpl->readtemplatesfromfile("przyklad4.tmpl.html"); //Dodaj warunek (zmienna warunkowa) wybrany z listy rozwijanej $tmpl->addvar("pozdrowienie", "IMIE", $_GET['imie']); $tmpl->parsetemplate("pozdrowienie"); Zapewne rozumiesz, co robi powyå¼szy kod PHP. Linia addvar() dodaje warunek, przesyå ajä c metodä $_GET wybrane z formularza imiä. W zaleå¼noå ci od wybranego

imienia, wyå wietlany jest odpowiedni subszablon. Zanim zostanie wybrane jakiekolwiek imiä, wyå wietlany jest subszablon domyå lny. JeÅ li nie zostanie wybrane żadne imiä, zostanie wyå wietlony subszablon empty. {mospagebreak title=przykå ady - Typ SimpleCondition}Typ SimpleCondition Gdy korzystasz z typu SimpleCondition, definiujesz wykaz zmiennych (przypisujesz je za pomocä atrybutu requiredvars, wymaganych, aby szablon byå widoczny. Tutaj jest przykå ad szablonu, w ktã³rym wymagana jest zmienna IMIE. <title>simplecondition</title> <pattemplate:tmpl name="zmiennazaznaczona" type="simplecondition" requiredvars="imie"> <p>jest mi milo powiadomic, ze zmiennej "IMIE" zostala nadana wartosc "{IMIE}".</p> ZmiennÄ warunkowä okreå lasz za pomocä requiredvars. JeÅ li zmienna IMIE nie zostanie okreå lona, to komunikat wewnä trz szablonu SimpleCondition nie bä dzie widoczny. Poniżej jest kod PHP:<?php $tmpl->readtemplatesfromfile("przyklad5.tmpl.html"); // Dodaj do szablonu wymagane zmienne $tmpl->addvar("zmiennazaznaczona", "IMIE", "Patryk"); $tmpl->parsetemplate("zmiennazaznaczona"); Możesz sprã³bowaä wstawiä znak komentarza przy linii addvar (), aby przekonaä siä, że komunikat nie zostanie wyå wietlony. {mospagebreak title=widocznoå Ä szablonu}widocznoå Ä szablonu PrzyszedÅ czas, aby pokazaä, jak uczyniä szablon widocznym. Do znacznika szablonu trzeba dodaä atrybut visbility. Atrybut visbility ma dwie opcje: - show - opcja domyå lna, szablon bä dzie widoczny lub - hidden - jeå li zadeklarujesz, szablon bä dzie niewidoczny. Poniżej jest przykå ad szablonu niewidocznego: <?php <title>niewidoczny szablon</title> <pattemplate:tmpl name="zawartosc" visibility="hidden"> Ten tekst nie bedzie widoczny

Ta wå aå ciwoå Ä nie byå aby oczywiå cie zbytnio uå¼yteczna, gdybyå nie mã³gå jej ustawiä w swoim projekcie. Z pomoc przychodzi funkcja setattribute (). Spójrzmy na kod PHP:<?php $tmpl->readtemplatesfromfile("przyklad9.tmpl.html"); // Uczyn zawartosc - "zawartosc" - szablonu widoczna $tmpl->setattribute("zawartosc", "visibility", "show"); Możesz sprã³bowaä wstawiä znak komentarza przy linii setattribute i zobaczyä, co siä stanie. Ta wå aå ciwoå Ä moå¼e byä wykorzystana np. do ukrywania bä dåº wyå wietlania komunikatã³w bå Ä dã³w. {mospagebreak title=linkowanie szablonã³w}linkowanie szablonã³w System pattemplate posiada wiele innych uå¼yteczych wå aå ciwoå ci. JednÄ z nich jest zdolnoå Ä linkowania - Å Ä czen szablonã³w. Tutaj masz przykå ad podlinkowani szablonu: <title>linkowanie szablonã³w</title> <pattemplate:link src="zawartosc" /> <pattemplate:tmpl name="zawartosc"> <p>to jest zawartoå Ä. Bedzie wyå wietlana w szablonie granicach elementu body. <br /> Możesz swobodnie uå¼ywaä wewnatrz szablonã³w zmiennych. W ten sposob:<br /><br /> Moja nazwa to {NAME}. Link w szablonie body jest odnoå nikiem do szablonu "zawartosc", powodujä cym doå Ä czenie go do szablonu body. Proste WÅ aå nie linkowanie - Å Ä czenie szablonã³w czyni tworzenie o wiele prostszym duå¼ych serwisã³w. Poniżej jest kod PHP, ktã³ry zastosowaå em:<?php $tmpl->readtemplatesfromfile("przyklad6.tmpl.html"); // Dodaj do szablonu zmiena IMIE $tmpl->addvar("zawartosc", "IMIE", "Maria");

Poniżej przyklad podlinkowania zewnä trznego pliku szablonu. W atrybucie src zostaå wskazany zewnä trzny plik szablonu : <title>laczenie szablonow</title> <pattemplate:tmpl name="zawartosc" src="przyklad7zawartosc.tmpl.html" /> Kod PHP, ktã³ry moå¼esz zastosowaä do tego szablonu, znajduje siä poniå¼ej: <?php $tmpl->readtemplatesfromfile("przyklad7.tmpl.html"); // Dodaj do szablonu zmienne IMIE $tmpl->addvar("content", "IMIE", "Maria"); Zwykle umieszczam wszystkie swoje szablony w trzech plikach: header, content i footer (nagå ówek, zawartoå Ä i stopka). To upraszcza pracä. JeÅ li chcä zmieniä coå w szablonach nagå ówka, to zmieniam tylko w jednym pliku, zamiast wprowadzania zmian w kilku plikach pojedynczych szablonã³w. {mospagebreak title=zmienne globalne}zmienne globalne Dotychczas analizowaliå my pattemplate uå¼ywajä ce tylko zmiennych lokalnych. W pattemplate moå¼emy stosowac zmienne o zasiä gu: - lokalnym i - globalnym. Poniżej przykå ad zastosowania zmiennej globalnej: <title>zasieg zmiennej</title> <p>ten link prowadzi do grafiki <a href="{plikobrazu}">{plikobrazu}</a> <br /><br /> <pattemplate:tmpl name="new"> <p>uzyto go takze w tym szablonie - zobacz: {PLIKOBRAZU} I tutaj kod PHP: <?php

$tmpl->readtemplatesfromfile("przyklad8.tmpl.html"); // Dodaj do szablonu zmienna globalna $tmpl->addglobalvar("plikobrazu", "imitacja-obraz.jpg"); Gdy uå¼yjesz funkcji addglobalvar(), dodajesz wartoå Ä tej zmiennej takå¼e we wszystkich doå Ä czanych plikach subszablonã³w. {mospagebreak title=zakoå czenie}zakoå czenie Znasz juå¼ wystarczajä co dobrze podstawy pattemplate, aby rozpoczä Ä tworzenie wå asnego szablonu. W artykule rozpatrzyliå my: - podstawy przetwarzania pattemplate w PHP - iteracjä (pä tlä w szablonie) - cztery rã³å¼ne typy szablonã³w (standard, oddeven, condition, simplecondition) - widzialnoå Ä szablonu - Å Ä czenie szablonã³w (oba sposoby: wewnä trznych i zewnä trznych) - zmienne globalne i lokalne Jeżeli chcesz dowiedzieä sie wiä cej o pattemplate, skorzystaj z dokumentacji online. [Jeżeli chcesz zobaczyä pattemplate w dziaå aniu, zobacz mã³j aktualny projekt, Radnews - uwaga tå umaca: aktualnie niedostä pny]. OczywiÅ cie, zawsze moå¼esz rã³wnieå¼ poså aä swoje dowolne pytania i komentarze do tego artykuå u na forum devarticles.zgå oå uwagi, podyskutuj JeÅ li chcesz skomentowaä ten artykuå, zgå osiä uwagi, pytania, sugestie, przejdåº na nasze FORUM.JOOMLA.PL - WÄ t dyskusyjny o tym artykule TÅ um. Stefan Wajda (zwiastun) Przedruk tylko za zgodä autora tå umaczenia