Skip to topic | Skip to bottom
Home

Tesi
Tesi.LinguaggiDiLayoutPerCMSr1.1 - 05 Jul 2004 - 18:54 - AngeloDiIoriotopic end

Start of topic | Skip to actions

Linguaggi di layout per CMS

Molti CMS adottano meccanismi di templating per separare il layout dal contenuto. Di seguito si riporta una classificazione di alcuni mesi fa dei linguaggi di templating usati nei CMS per il Web, da controllare ed eventualmente espandere/correggere in base a nuove soluzioni proposte:

Templating a variabili predefinite

Nel caso di Weblog, le pagine hanno una struttura variabile ma sono costituite da blocchi di contenuto standard: post, autore di ogni post, data, post precedenti... Le pagine-template sono pagine HTML, che nelle varie zone contengono il nome di queste variabili espresso in una determinata sintassi. Nel visualizzare la pagina il motore interno sostituisce alle variabili il loro valore. E' possibile inoltre aggiungere altre variabili non standard. Ogni weblog ha una propria sintassi.

Templating a skin/temi

Siti/portali come PHPNuke sono costruiti assemblando inserendo diversi moduli in una struttura fissa, con la pagina divisa in varie zone note ed individuabili. In questo caso il layout pu˛ esser cambiato modificando le risorse come sfondi, bottoni e il tema globale della pagina. E' un templating in senso lato.

Templating con markup proprietario

Il caso piu' diffuso Ŕ l'uso di un linguaggio di markup proprietario per individuare il contenuto da inserire nelle varie zone del layout. Le pagine template sono file HTML arricchiti di tag non HTML che indicano il contenuto da aggiungere al template. Vari CMS forniscono un template editor (che permette di indicare cosa aggiungere alle varie zone di layout) ed usano un meccanismo interno per interpretare i template. Un esempio Ŕ il Lychee Markup Language del CMS Lychee

Templating Attribute Language

La comunitÓ di Zope ha sviluppato un linguaggio di templating che fa uso semplicemente di attributi HTML o XML, chiamto TAL o ZPT. Il vantaggio di questo approccio Ŕ che la pagina template Ŕ un file HTML visualizzato nel browser, senza esplicitare le variabili (templating a variabili predefinite), senza ricorrere a nuovi tag (markup proprietario) e quindi facilmente comprensibile anche da utenti meno esperti. I tag HTML sono marcati con appositi attributi che indicano come trasformare il tag (sostituirlo, sostituire solo il contenuto, inserire vari item di una lista, eliminarlo, aggiungere attributi). Inoltre esiste un ulteriore linguaggio (TALES) per indicare dove reperire i valori da sostituire (o inserire) nel file di template. Esiste anche una implementazione in PHP.

Dynamic Templates Markup Language

Precedente a ZPT Ŕ DTML, sviluppato anch'esso dalla comunitÓ di Zope. E' un linguaggio di markup con tag da aggiungere alle pagine template (file HTML) per indicare le zone da riempire con il contenuto, dove recuperare tale contenuto e per permettere il riuso di blocchi di layout. Nonostante un successo iniziale tende ad essere sostituito da TAL (ZPT)

Templating con generazione di classi Java

Una soluzione diversa Ŕ proposta dal CMS ENHYDRA e pi¨ precisamente con il progetto XMLC. XMLC Ŕ un compilatore java che costrusce, a partire da una pagine HTML, una classe Java provvista dei metodi per aggiungere, modificare contenuto alla pagina. In questo caso le pagine template sono file HTML, trasformati in oggetti java. Il motore XMLC usa i metodi di questi oggetti per fare templating.

Templating con generazione di XSLT da file HTML

Una soluzione interessante Ŕ la possibilitÓ di generare file XSLT da pagine HTML di layout. E' il caso di RHYTHMYX, un CMS che usa RHYTHMYX XSplit, un software free che realizza tale conversione. Le pagine template quindi sono file HTML, da cui il sofware genera un XSLT, successivamente applicato ad altro contenuto.

Templating esplicito con tecnologie XML e XSLT, linguaggi server-side PHP, ASP, JSP, SSI

I CMS pi¨ importanti (Vignette, Microsoft) offrono la possibilitÓ di utilizzare linguaggi server-side o fogli di stile XSLT,inserendo esplicitamente il codice o importando risorse pre-esistenti. Tale soluzione richiede ovviamente conoscenze tecniche superiori ma Ŕ completamente versatile e personalizzabile.

-- AngeloDiIorio - 05 Jul 2004
to top


You are here: Tesi > ProposteRicerca? > LinguaggiDiLayout > LinguaggiDiLayoutPerCMS

to top

Copyright © 1999-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Fabio's Wiki? Send feedback