Personal tools
Sunburst e i css + dtml: se li conosci NON li eviti

I dtml sono ancora tra noi ;-)

Apr 23, 2013

Sunburst e i css + dtml: se li conosci NON li eviti

Sviluppare un tema basato su Sunburst e cambiargli abito in 5 minuti si può: i dtml non sono ancora morti e aspettano solo di essere riportati in vita!

Alzi la mano chi, almeno una volta, ha maledetto Sunburst (il tema integrato nelle versioni di Plone 4.x) per averci privato di un preziosissimo supporto nello sviluppo dei temi grafici: la sintassi DTML.

Alzi la mano chi ha sul muro dell'ufficio i segni inequivocabili di tazze, portapenne, robottini e cancelleria varia scagliati contro la personificazione di quel public.css di Sunburst che porta scolpito il blu #205C90 nei più reconditi recessi delle proprie righe.

Proprio così: il formato DTML è stato ufficialmente abbandonato e relegato alle versioni di Plone <= 3.x.

Attenzione: abbandonato non vuol dire "non supportato". Nei nostri temi basati su Sunburst possiamo tranquillamente introdurre file .dtml.
Allora non ci resta che prendere esempio dagli sceneggiatori di Beautiful e riportarli alla vita con un bel "coup de theatre".

Lo scopo di questo post non è di spiegarne l'uso, la sintassi o elencarne pregi o difetti. E' una scelta individuale e organizzativa che può essere o meno condivisibile. Ma per tutti i "plone-skinner" che la pensano come me, metto a disposizione la mia personale panacea:

  • il buon vecchio base_properties.props, ampliato con ulteriori personalizzazioni (stili per la descrizione, bordo inferiore sui link, colore di hover sui link...)
  • un file sunburst_public.css.dtml (da aggiungere al proprio tema) che fa uso del base_properties.props per ridefinire tutti gli stili (e solo quelli) del public.css di Sunburst in cui sia possibile sostituire un valore statico con una variabile dtml.

Entrambi i files vanno inseriti nella cartella "skins/miotema_styles" del proprio pacchetto. Il file sunburst_public.css.dtml dovrà essere registrato in profiles/default/cssregistry.xml con la classica direttiva:

<stylesheet id="sunburst_public.css" 
media="screen" rel="stylesheet"
rendering="link"
cacheable="True"
compression="safe"
cookable="True"
enabled="1"
expression=""/>

Consiglio di registrarlo prima del file css specifico del tema (esempio miotema.css).

Vantaggi?

Molteplici:

  • cambiare faccia a Sunburst in 5 minuti
  • evitare di sovrascrivere l'intero public.css
  • ridurre gli episodi di ipertensione e nervosismo
  • preservare il candore del muro del proprio ufficio.

Svantaggi?

Onestamente non ne vedo nessuno, salvo il fatto che il giorno in cui i dtml verranno definitivamente deprecati si dovrà necessariamente rivedere il proprio codice... ma in una simile circostanza si starà senz'altro procedendo con una migrazione di versione "major" e potreste sfruttare l'occasione per proporre un bel restyling del sito ;-)

Avvertenze e modalità d'uso: l'uso del prodotto può creare dipendenza e assuefazione. Assumere a piccole dosi e intervallare con la somministrazione di un tema Diazo per equilibrare i valori di "cssemia".

Filed under: , ,
comments powered by Disqus