Znacznik Tmpl Drukuj Wyślij znajomemu
Znacznik tmpl wskazuje początek szablonu. Cały tekst znajdujący się od tego znacznika do końcowego znacznika zamykającego zostanie dołączony do szablonu graficznego.
<patTemplate:tmpl>
   Pat to moja najlepsza partnerka. 
</patTemplate:tmpl>

Atrybuty

Następujące atrybuty są możliwe do wykorzystania:

Atrybut: name (opcjonalny, ale zwykle wprowadzany)

Ten atrybut wymienia nazwę szablonu. Nazwa musi być unikalna, jeśli będzie wykorzystywana jako adres do szablonu z poziomu funkcji API. W przypadku, gdy atrybut nazwa zostanie opuszczony, unikalna nazwa zostanie wygenerowana przez patTemplate.

<patTemplate:tmpl name="body">
  To jest moja witryna.
</patTemplate:tmpl>
Atrybut: type (opcjonalny)

Ten atrybut definiuje typ szablonu graficznego i może przyjmować następujące wartości:

   Standard

Jest to wartość domyślna, przyjmowana zawsze, gdy typ zostanie pominięty.

<patTemplate:tmpl name="body" type="standard">
To jest szablon.
</patTemplate:tmpl>
OddEven

Typ OddEven definiuje szablon z dwoma sub-szablonami: parzystym-nieparzystym. Sub-szablony są używane naprzemiennie, gdy szablon jest przeładowywany.

<patTemplate:tmpl name="row" type="oddeven">
    <patTemplate:sub condition="__odd">
<div style="background-color:#cccccc">{VALUE}</div>
    </patTemplate:sustrong>
    <patTemplate:sub condition="__even">
<div style="background-color:#ffffff">{VALUE}</div>
    </patTemplate:sustrong>
</patTemplate:tmpl>
   Modulo

Szablon modulo pozwala ci definiować dowolną ilość sub-szablonów dla zmieniających się list. Jest bardzo podobny do szablonu OddEven

<patTemplate:tmpl name="row" type="modulo" modulo="3">
    <patTemplate:sub condition="0">
<div style="background-color:red">{VALUE}</div>
    </patTemplate:sustrong>
    <patTemplate:sub condition="1">
<div style="background-color:blue">{VALUE}</div>
    </patTemplate:sustrong>
    <patTemplate:sub condition="2">
<div style="background-color:green">{VALUE}</div>
   </patTemplate:sustrong>
</patTemplate:tmpl>

Dwie specjalne zmienne systemowe dla szablonu typu modulo. Są to:

  • PAT_MODULO
    Jest to wartość dla bieżącego sub-szablonu. W przykładzie powyżej przyjmuje cyklicznie wartości 1,2 i 0.
  • PAT_MODULO_REP
    Jest to liczba zapętleń albo - inaczej ilość powtórzeń, licząc od jeden.
Condition

Szablon typu Condition (warunkowy) może zawierać tak wiele sub-szablonów, jak chcesz. Ten typ emuluje przełącznik stanu w PHP.

SimpleCondition

W typie SimpleCondition możesz zdefiniować kilka wymaganych zmiennych (muszą być ustawione, aby zagwarantować, że szablon będzie wyświetlany). SimpleCondition nie zawiera żadnych sub-szablonów. Jeśli wszystkie zmienne są ustawione szablon jest widoczny, w przeciwnym wypadku pozostanie ukryty.

Uwaga: Musisz użyć atrybutu requiredvars, aby zdefiniować zmienne, które muszą być ustawione, jako listę zmiennych oddzielonych przecinkami.
Atrybut: addsystemvars

Atrybut pozwalający Ci dodać specjalne zmienne systemowe, jak np. ilość powtórnych załadowań sablonu. Atrybut może przyjmować następujące wartości:

  • boolean - kiedy zastosujesz, zmienna systemowa boolean będzie przyjmować wartość true lub false
  • integer - kiedy zastosujesz, traktowany jest jako liczbowy odpowiednik wartości boolean, przyjmuje wartości: 0 jako false i 1 jako true
  • inny tekst - w sytuacji, gdy wskazane jest, aby zmienne systemowe zwracały dowolny tekst, jeśli true lub pusty ciąg znaków, jeśli false

Przykład:

<patTemplate:tmpl name="tmpl-1" addSystemVars="boolean">
    <strong>System-variables:</strong>
    
    PAT_LOOPS    : {PAT_LOOPS}
    PAT_IS_FIRST : {PAT_IS_FIRST}
    PAT_IS_LAST  : {PAT_IS_LAST}
    PAT_IS_ODD   : {PAT_IS_ODD}
    PAT_IS_EVEN  : {PAT_IS_EVEN}
    PATTEMPLATE_VERSION : {PATTEMPLATE_VERSION}
    <hr />
</patTemplate:tmpl>
Atrybut: autoclear

Jeśli autoclear jest ustawiony na TAK, szablon będzie za każdym razem ładowany ponownie, kiedy jest wyświetlony.

Atrybut: autoload

Pozwoli ci dynamicznie dołączać szablon.

Przykład

$tmpl->readTemplatesFromInput( 'example.tmpl' );
$tmpl->setAttribute( 'main', 'src', 'example_include.tmpl' );
$tmpl->displayParsedTemplate();
<mos:tmpl name="main" src="dynamic" autoload="off" parse="on" />
Atrybut: conditionvar

Wymagane dla szablonów typu Condition. Ustawia nazwę zmiennej, która będzie używana do emulowania przełącznika stanu.

Przykład:

conditionvar="NAME"
Sprawdzanie zmiennych z innych szablonów

Od wersji 2.4 możliwe jest używanie zmiennej z innego szablonu jako zmiennej warunkowej. Aby to zrobić, zaimplementowaliśmy składnię z wykorzystaniem ’kropki’. Użyj po prostu conditionvar="TEMPLATENAME.VARNAME", aby wykorzystać zmienną dowolnego szablonu jako zmienną coditionvar. Ale bądź ostrożny podczas używania zmiennych szablonów, które są powtarzane jako liczba iteracji szablonu.

Atrybut: requiredvars

Wymagany dla szablonu simplecondition. To może być lista zmiennych, które muszą być ustawione aby szablon mógł się wyświetlać. Każda zmienna musi być oddzielona przecinkiem. Jest to bardzo użyteczne, gdy chcesz wyświetlać komunikaty błędu, kiedy jedna bądź więcej zmiennych nie jest ustawiona. Z wersją 2.4 możesz użyć również składni ’kropki’ do sprawdzenia, czy zmienne są ustawione w innych szablonach.

Przykład:

requiredvars="NAME,STREET,ZIPCODE"
Atrybut: useglobalas (opcjonalny)

Ten atrybut może być używany dla szablonów graficznych typu Condition albo SimpleCondition po to, aby przekazać do patTemplate informację, że zmienne globalne powinny zostać zastosowane, gdy zmienne lokalne nie są ustawione.

Atrybut ten nie potrzebuje wartości, może być ustawiony jako flaga.

Przykład:

useglobals="yes"

albo po prostu useglobals

Atrybut: loop (opcjonalny)

Wymusza powtarzanie szablonu, nawet jeśli nie ma żadnych wartości, które powinny być powtórzone.

Przykład:

loop="10"
Atrybut: visibility (opcjonalny)

Visibility może być ustawione albo jako visible [widoczny] albo hidden [ukryty]. Jeśli ustawione będzie na hidden, szablon nie będzie widoczny. Może być używany do ukrywania bądź wyświetlania komunikatów błędów, jako atrybuty może być zmienione poprzez użycie setAttribute.

Przykład:

visibility="hidden"
Atrybut: placeholder (opcjonalny)

Ten atrybut powinien być stosowany tylko przez zaawansowanych użytkowników

Kiedy umieszczony zostaje szablon w szablonie, parser będzie przetwarzał HTML podszablonu i zamieni go na znacznik TMPL:templatename, aby zidentyfikować pozycję, gdzie podczas wyświetlania podszablon ma zostać wstawiony. Z tym atrybutem możesz wymusić zastosowanie własnego znacznika albo wykluczyć możliwość stosowania takiego znacznika w ogóle (ustaw to jako none).

Przykład:

placeholder="CONTENT"
Atrybut: parse (opcjonalny)

Zobacz atrybut src

Atrybut: src (opcjonalny)

Wykorzystaj zewnętrzny plik jako treść dla danego szablonu. Powinien być stosowany w połączeniu z atrybutem parse="on|off", aby wskazać parserowi, że zewnętrzny plik również powinien być przetworzony (zbliżone do zewnętrznych encji XML) albo jeśli zawiera zwykły HTML, który powinien zostać dołączony.

Atrybut: unusedvars (opcjonalny)

Ten atrybut informuje parser, jak powinny być traktowane zmienne, które nie mają przypisanych wartości. Może mieć jedną z następujących wartości.

  • ignore [ignoruj] - pozostaw je takimi, jakie są
  • strip [usuwaj] - usuń je z kodu HTML
  • comment [komentuj] - użyj komentarzy HTML, aby stały się niewidoczne
  • nbsp [] - podmień je na inne (non-breaking space)
  • albo każdy inny łańcuch znaków, na który powinny być zamienione
Atrybut: varscope (opcjonalny)

Ten atrybut może być używany do zaimportowania zmiennych z innych szablonów graficznych do tego szablonu. Wyjaśnijmy to tak. Powiedzmy, że jest utworzony jeden szablon dla całej strony i dodane są do niego wszystkie zmienne. Kiedy wstawiasz nowy szablon na stronie, zmienne w tym nowym szablonie nie będą brane pod uwagę, dopóki nie zostaną zadeklarowane. I w tym miejscu pomaga atrybut varscope. Należy wstawić po prostu atrybut varsope="NAMEOFPAGE" w znaczniku tmpl i wszystkie zmienne z pierwszego szablonu będą dostępne w nowym szablonie.

Atrybut: whitespace (opcjonalny)

Informuje parser, jak mają być traktowane puste miejsca (whitespace) (trim, ltrim, rtrim, keep). Pozwala to generować HTML bez żadnych linii łamiących (break line) z szablonu zawierającego takie elementy.


Uwagi, źródła

Jeżeli masz sugestie odnośnie treści lub chcesz zgłosić poprawki do tego rozdziału, skomentuj go albo umieść wiadomość na forum: Dokumentacja - Propozycje, zmiany, poprawki

Dziękujemy!

Stefan Wajda, Zespół Dokumentacji PCJ

Tłum. Adam Sobkowicz. Na podstawie: help.joomla.org

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