TALES

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

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 istnieje
  • nocall
  • 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 ZPT
  • user – 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ło TRUE. Wyrażenia tego typu najczęściej używane są w instrukcjach warunkowych tal: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 mamy 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żywamy do zaprzeczenia ciągu występującego po nim. Zope sprowadza sekwencję po wyrażeniu not do wartości logicznej TRUE lub FALSE, 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łowie not 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.