Jazyk atributu šablony - Template Attribute Language
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
The Jazyk atributu šablony (TAL) je šablonový jazyk používaný ke generování dynamiky HTML a XML stránky. Jeho hlavním cílem je zjednodušit spolupráci mezi programátory a designéry. Toho je dosaženo vložením příkazů TAL do platných značek HTML (nebo XML), na kterých lze potom pracovat pomocí běžných návrhových nástrojů.
TAL byl vytvořen pro Zope ale používá se v jiných Krajta - také na základě projektů.
Atributy
Používají se následující atributy, obvykle s předponou „tal:
":
- definovat
- vytváří lokální proměnné platné v živel nesoucí atribut (včetně obsažených prvků)
- stav
- rozhodne, zda vykreslit značku (a veškerý obsažený text) či nikoli
- opakovat
- vytvoří proměnnou smyčky a opakuje značku iterující sekvenci, např. pro vytvoření výběrového seznamu nebo tabulky
- obsah
- nahradí obsah značky
- nahradit
- nahradí značku (a proto ji nelze použít společně s obsahem nebo atributy)
- atributy
- nahradí dané atributy (např. pomocí
tal: attributes = "name name; id name"
atributy jména a id vstupního pole lze nastavit na hodnotu proměnná "název
") - vynechat značku
- umožňuje vynechat počáteční a koncovou značku a vykreslit obsah pouze v případě, že je daný výraz pravdivý.
- při chybě
- pokud dojde k chybě, tento atribut funguje jako značka obsahu.
Pokud má značka více než jeden atribut TAL, vyhodnotí se ve výše uvedeném (celkem logickém) pořadí.
V případě, že není přítomen žádný tag, který by umožňoval převzít atributy, lze použít speciální tagy TAL, takžetal:
"předpona volitelná. např .:
podmínka ="kontext / seznam položek">...</tal:if>
způsobí kód uvnitř tal: pokud
značky, které se mají použít vždy, když kontext (ať už aplikační server definuje kontext, který má být, např. objekt) obsahuje proměnnou "seznam položek
" s skutečný hodnota, např. seznam obsahující alespoň jeden prvek. Identifikátor následující za dvojtečkou je libovolný; prostě tam musí být a musí být stejné pro otevírací i zavírací značku.
KOV
Jazyk rozšíření atributů šablony maker (METAL) doplňuje TAL a poskytuje makra které umožňují opětovné použití kódu napříč soubory šablon. Oba byly vytvořeny pro Zope ale používají se v jiných Krajta také projekty.
METAL doplňuje TAL o možnost opětovného použití kódu. Umožňuje vývojáři definovat a používat makra, která zase mohou mít sloty; při použití makra lze pro slot určit variační obsah.
Při generování XML dokumenty, musí být zadán jmenný prostor XML (xmlns: metal = "http://xml.zope.org/namespaces/metal"
).
KOVOVÉ atributy
Rozpoznávají se následující atributy, které obvykle vyžadují „kov:
" předpona:
- definovat-makro
- vytvoří makro
- definovat-slot
- vytvoří slot uvnitř makra
- use-macro
- používá makro (obvykle dané prostřednictvím výrazu cesty TALES)
- vyplnit slot
- při použití makra nahradí výchozí obsah daného slotu
- extend-macro
- od té doby Zope v3: rozšiřuje makro, srovnatelné s podtřídy, předefinováním slotů
Normálně se používá vždy jen jeden z nich.
V případech, kdy není k dispozici žádná značka, která by umožňovala převzít atributy, a ve zvláštních případech, kdy je potřeba více než jeden atribut METAL, lze použít speciální značky METAL, díky nimž je předpona „metal:“ volitelná. Např. (načrtnuto s Zátah na mysli):
<html metal: define-macro="poleva"> ... <kov: myslot definovat-slot=„nepovinný formulář“> ... </html> <html metal: use-macro=„šablony / stránka / makra / poleva“> <formulář kov: výplň=„nepovinný formulář“ akce="." tal: atributy="kontext akce / označení"> ... </formulář> </html>
Používání
TAL / TALES / METAL používají následující projekty:
- Zope (webový aplikační server)
- Roundup (sledování problémů)
Další implementace
Kromě originálu Zope implementace existují (nikoli vyčerpávající):
Krajta
- SimpleTAL
- OpenTAL
- ZPT, samostatná verze Šablony stránek Zope
- Chameleon, rychlá reimplementace Šablony stránek Zope
C#
- SharpTAL
Go (Golang)
- tal, nativní Go implementace TAL, TALES a METAL
JavaScript
- template-tal, Implementace TAL pro NodeJs
- jstal
- Distální
- DomTal
- ZPT-JS
Jáva
- JPT: Jáva Šablony stránek
- JavaZPT
- ZPT-Java
Perl
- PETAL, Perl Jazyk atributu šablony
- Šablona-TAL
Raku
- Květina, a Raku implementace TAL, s některými rozšířeními Petal a PHPTAL.
PHP
- PHPTAL
- Twital
- Šušenka
- zTAL
XSL
Společný Lisp
- TALCL: Knihovna, která implementuje jazyk šablony TAL pro obyčejný lisp
Podobné implementace
- ATal - Ve skutečnosti nejde o implementaci TAL, ale inspirován koncepty TAL
- Thymeleaf - Ne implementace TAL, ale podobný jazyk „přirozené šablony“
Reference
externí odkazy
- Odkaz na šablony stránek Zope (Zope Book)