I filtri

Finezze per modelli

I filtri trasformano il contenuto del database in codice HTML presentabile.

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.

Note

[1Si può definire ciò con il termine inglese "pipeline"...

Vogliamo far notare che alcuni filtri di presentazione possono essere vantaggiosamente sostituiti dai fogli di stile. Pertanto |majuscules è equivalente all’attributo CSS "text-transform: uppercase", e |justifier a "text-align: justify".

Leggere SPIP e i fogli di stile per maggiori informazion sugli stili CSS offerti da SPIP.

Autore Fausto Barbarito Publié le : Mis à jour : 21/03/23

Traductions : عربي, català, corsu, Deutsch, English, Español, français, italiano, Nederlands, Português, русский, slovenčina, Türkçe, українська