I cicli BOUCLES danno la possibilità di strutturare la pagina in maniera logica, ma bisogna pur presentare i dati in maniera estetica. SPIP non può disegnare la pagina al vostro posto, ma è possibile usare i suoi filtri...
Un’informazione contenuta nel database si presenta come un blocco di testo, e si potrebbe avere voglia di manipolare tale valore prima di visualizzarlo sullo schermo. I filtri servono a questo:
- i filtri più utilizzati (vengono chiamati automaticamente) sono |typo
e |propre
; il primo è un correttore ortografico la cui missione principale è aggiungere spazi indivisibili dove necessario (cfr. la guida in linea di SPIP); il secondo si interessa ai paragrafi, alle scorciatoie di SPIP (corsivi, grassetti, titoli di paragrafo, ecc.) - viene applicato di default solo sui testi lunghi (#TEXTE
, #CHAPO
, ecc.)
- altri filtri sono molto utili: citiamo |majuscules
(il nome è di per sé esplicativo), |justifier
o |aligner_droite
(che definiscono l’allineamento del testo in relazione ai margini verticali) o, ancora, l’esoterico |saison
(che mostra " estate " se la variabile è una data compresa tra il 21 giugno e il 20 settembre)...
Per utilizzare un filtro è necessario racchiudere la variabile tra parentesi tonde e quadre (più avanti analizzeremo le implicazioni): [blah blah (#VARIABILE|filtro) bloh bloh]
È possibile concatenare i filtri uno dietro l’altro [1]: quindi [(#DATE|saison|majuscules)]
mostrerà "INVERNO".
Esercizio sugli argomenti delle lezioni precedenti: visualizzare in caratteri maiuscoli i titoli dei 10 articoli più recenti della rubrica passata in contesto, e mettere come intestazione della pagina la stagione attuale (cioè, la stagione nella quale è stato pubblicato l’articolo più recente di tutto il database).
...
Perché le parentesi quadre? Supponiamo che il database contiene articoli datati ed altri non datati. La variabile #DATE ha il valore "2001-07-01 10-53-01" (data in formato mySQL) nel primo caso, e "0000-00-00 00-00-00" nel secondo. Per visualizzare la data in un bel (?) riquadro scriviamo nel modello le linee seguenti:
[<table border="1"><tr><td>
(#DATE|affdate)
</td></tr></table>]
In questo esempio il filtro |affdate
mostra la data in lettere (nel formato " 1 luglio 2001 "), ma restituisce una stringa vuota se la data non è conosciuta (uguale a "0000..."). Le parentesi quadre delimitano ciò che bisogna mostrare intorno alla data se il risultato tra parentesi non è una stringa vuota.
Risultato: solo gli articoli che hanno una data provocano la visualizzazione di una tabella che contiene la data. Un modello ben costruito definirà in maniera precisa quel che bisogna mostrare o meno in base al contenuto... I filtri servono anche a questo.