Bookmark and Share
Document Actions

I template e TAL (Template Attribute Language)

Up one level
I principali elementi che compongono una skin sono: page template, immagini, script Python, file CSS e file JavaScript.

(Zope) Page Templates

I page templates (file .pt o ZPT) sono una parte essenziale di un Plone theme e sono probabilmente l'aspetto più semplice da controllare. Sono scritti in un elegante linguaggio per il templating basato su XML, chiamato TAL, che a volte fa uso di macro (METAL), e che a volte incorpora espressioni Python (piccoli operazioni su una singola linea) o script Python veri e propri.

Ci sono varie valide introduzioni a ZPT, e non ci vuole molto per imparare TAL. Ad esempio puoi consultare:

TAL è una linguaggio che consigliamo vivamente di imparare bene. Tutto il resto si può apprendere man mano che si sperimenta e si acquisisce esperienza.

Una pagina web Plone viene composta attraverso un insieme di template, piuttosto che uno, e ci sono un paio di aspetti di ZPT che devi avere ben presenti.

1. Slot

Uno slot è una sezione predefinita di un template. Questo può essere lasciato vuoto oppure ci si può mettere del contenuto di default, ma è sempre possibile modificarlo quando necessario. Uno slot è definito in un template come questo:

<metal:bodytext metal:define-slot="main" tal:content="nothing">
    .....
</metal:bodytext>

e riempito attraverso l'inclusione in un altro template di questo codice:

<metal:main fill-slot="main"> 
    <h1 class="documentFirstHeading"> 
        ...... 
    </h1>
</metal:main>

Il tutorial di ZPT su plone.org affronta l'argomento in modo più dettagliato e la sezione Templates e Components to Page (presto disponibile anche in italiano) fornisce un esempio.

2. Content view templates (_view)

Nota: il termine "vista" (view) ha anche un'applicazione più tecnica, quindi parlando di componenti (più avanti in questo manuale) avrà un significato diverso.

(nella traduzione in italiano il termine nell'accezione più tecnica non verrà tradotto n.d.t.)

Dal punto di vista dell'utente, dell'editor o del visitatore, una vista è il modo in cui un dato contenuto viene presentato sulla pagina. Esiste un'utile introduzione a questo argomento nel Manuale Utenti Plone 3.

Il nome dei template usati per visualizzare un dato contenuto attraverso una vista, per convenzione, ha il suffisso _view (ad esempio, document_view.pt) e possono avere come titolo "Standard View."  Questi template sono di fatto un insieme di informazioni pronto per essere inseriti negli slot.

Script

Esistono alcuni piccoli moduli a sé stanti creati apposta quando si ha la necessità di svolgere operazioni con alcune linee di codice. Nel file system questi hanno estensione .py e vengono visualizzati nella Zope Management Interface sotto forma di Script (Python).

Ecco qui di seguito un frammento preso da event_view (la vista di default per il content type Event) che utilizza uno script di Python per formattare un campo tipo data/ora secondo le convenzioni di default del sito. Se si guarda in CMFPlone/skins/plone_scripts si troverà toLocalizedTime.py - uno script di poche linee.

<span metal:define-slot="inside" 
            class="explain" 
            tal:attributes="title python:here.end()" 
            tal:content="python:here.toLocalizedTime(here.end(),
                                   long_format=1)">End Date Time</span>
by Alice Narduzzo last modified 2009-05-20 10:52