TALES: espressioni in ZPT
medio
TALES fornisce vari tipi di espressioni, utili a dare vita ai nostri template.
Path Expression
Le path expression sono il modo di richiamare attributi su specifici oggetti, come nel caso degli esempio seguenti:
- request/URL
- URL della richiesta web corrente.
- user/getUserName
- username dell'utente responsabile della richiesta.
- Container/objectIds
- lista degli Id degli oggetti nella stessa Cartella che contiene il template corrente.
Tali espressioni sono l'equivalente di espressioni Python del tipo: request.URL; user.getUserName(); Container.objectIds()
String Expression
Le string expression sono la via ZPT per formattare stringhe da utilizzare nei template.
Ad esempio, il template seguente:
<b tal:content=”string:titolo: ${here/title}”/>
Dopo il rendering si trasforma in qualcosa di simile a questo:
<b>titolo: doc1</b>
Python Expression
Le Python expression consentono di sfruttare nei template la flessibilità del Python senza ricorrere a script esterni:
Ad esempio il template seguente:
<div tal:replace=”python:here.getSize() / 100”/>px
sarà renderizzato con qualcosa di simile a questo:
240px
Oggetti disponibili in ZPT
La colla che fa funzionare il tutto sono delle parole chiave che possiamo sempre utilizzare nei nostri template. Le più importanti da mandare a memoria sono:
- nothing
- rappresenta un nonvalore (analogo a None, void, Null, ...)
- here
- l'oggetto al quale il template viene “applicato”
- template
- il template stesso
- request
- l'oggetto REQUEST di Zope
- user
- l'oggetto che rappresenta l'utente registrato
