TALES
TAL Expression Syntax (TALES) – standard definiowania wyrażeń dla języków TAL (Template Attribute Language) i METAL (Macro Extension for TAL). TALES definiuje sześć typów wyrażeń:
exists
– do sprawdzania czy obiekt istniejenocall
not
path
python
string
Domyślnym typem jest path
, dlatego w przypadku braku określenia typu, Zope potraktuje je jako wyrażenie tego właśnie typu. Jeśli istnieje konieczność umieszczenia kilku wyrażeń, to kolejne z nich oddziela się dwukropkiem. Oprócz tego TALES określa również listę słów kluczowych:
attrs
container
– reprezentuje folder, w którym znajduje się plik szablonu ZPT (Zope Page Template)default
here
modules
nothing
– reprezentuje zero (0), pusty ciąg znaków lub zmienną niezainicjowaną żadną wartościąoptions
repeat
request
root
template
– reprezentuje nazwę pliku szablonu ZPTuser
– nazwa obecnie zalogowanego użytkownika
- exists
- Wyrażenia typu
exists
sprawdzają czy dany obiekt istnieje. Obiektem może być plik, zmienna lub własność szablonu ZPT. W przypadku zmiennych oraz własności szablonów, dana cecha nie musi posiadać konkretnej wartości, aby wyrażenie zwróciłoTRUE
. Wyrażenia tego typu najczęściej używane są w instrukcjach warunkowychtal:condition
.
<p tal:condition="exists:template/title">Tekst z obu paragrafów zostanie wyświetlony,</p> <p tal:condition="exists:template/id">ponieważ każdy szablon posiada własność tytuł oraz id.</p>
- nocall
- Wyrażenia typu
nocall
umożliwiają dotarcie do atrybutów danego pliku.
<span tal:define="doc nocall:here/exists.zpt" tal:content="string:${doc/getId} - ${doc/title}">id – tytuł</span>
Zawartość tagu <span>
zostanie wypełniona wartościami atrybutów id
oraz title
pliku exists.zpt znajdującego się w tym samym katalogu co plik szablonu zawierający powyższy wpis. Zarówno w przypadku dodania słowa nocall
jak i wtedy gdy go nie ma, sama zmienna doc
jest definiowana jako ciąg znaków będących zawartością pliku exists.zpt. Natomiast dzięki nocall
istnieje możliwość odczytania wartości atrybutów id
oraz title
tego pliku. W przypadku plików będących skryptami lub metodami nocall
pozwala pobierać wartości zmiennych tamże zdefiniowanych.
- not
- Wyrażenia
not
używa się do zaprzeczenia ciągu występującego po nim. Zope sprowadza sekwencję po wyrażeniunot
do wartości logicznejTRUE
lubFALSE
, a następnie ją neguje. Jeżeli nie jest możliwe sprowadzenie wyrażenia do wartości logicznych, to zostaje zwrócone ostrzeżenie o błędzie. Błąd wystąpi również wtedy, gdy po słowienot
nie wystąpi żadne wyrażenie. Zasady sprowadzania wyrażeń do wartości logicznych:
- liczba zero to
FALSE
- liczby dodatnie i ujemne to
TRUE
- pusty ciąg znaków to
FALSE
- nieistniejące pliki, obiekty lub ich właściwości to
FALSE
- path
- Wyrażenia typu
path
są domyślnym typem wyrażeń instrukcji TAL. Wyrażenia tego typu składają się z ciągów znaków oddzielonych od siebie znakami prawego ukośnika (/
). Pierwsze słowo w ścieżce powinno być jednym ze słów kluczowych lub zmienną zdefiniowaną przez użytkownika. Wyrażenia na ścieżce mogą zawierać litery, cyfry, spacje oraz kropki, przecinki, myślniki, znaki podkreślenia i tyldy.