Come menzionato all’inizio del manuale di riferimento e nella documentazione sul multilinguismo, SPIP permette di gestire alcune varianti di modelli, solamente per lingua e per alcune rubriche.
Impaginazioni differenti
Si può desiderare, per esempio, che tutti gli articoli di una rubrica abbiamo una impaginazione differente: colore di fondo e dimensione del testo diversi, informazioni relative alle parole chiave messe in evidenza, ecc. O anche, che il contenuto di una rubrica data sia presentato in maniera diversa perché esso corrisponde a un tipo di dati diversi: per esempio elencando tutti gli articoli secondo il loro numero, compresi il contenuto che sarà breve, piuttosto che gli ultimi sotto forma di data seguiti da una paginazione di tutti gli articoli, con i link verso le pagine di articoli. Sarà anche possibile desiderare che l’interfaccia del sito sia diversa in base alla lingua dell’articolo o della rubrica.
Le varianti dei modelli sono un metodo semplice — ma di primo acchito, non necessariamente "indolore" — che permette a SPIP di fare ciò. Per indicargli di utilizzare delle impaginazioni diverse, è sufficiente realizzare dei modelli diversi ai quali si attribuiranno dei nomi di file che indicano quando questi modelli devono essere utilizzati:
- rubrique=22.html
: modello speciale per la rubrica numero 22,
- article-2.html
: modello per tutti gli articoli contenuti nella rubrica numero 2 e tutte le sue sotto-rubriche,
- article.en.html
: modello per tutti gli articoli di lingua inglese (codice ISO "en"),
- rubrique.html
: modello predefinito, che si applica a tutte le rubriche che non hanno un modello speciale, ma la cui presenza è obbligatoria in una cartella affinché le varianti dei modelli siano prese in considerazione.
Ordine esauriente delle varianti dei modelli
Facciamo l’esempio dei modelli per gli articoli, con dei valori dati di lingua e di rubriche (tuttavia, la spiegazione sottostante rimane valida per i modelli di rubrica o per le brevi, e ovviamente indipendentemente dalle lingue e dal numero di rubriche).
Ricordiamo innanzi tutto che SPIP cerca come prima cosa la cartella in cui prenderà il modello, come spiegato in dettaglio in «Dove mettere i file dei modelli?», cercando se esiste un file article.html
. Pertanto, non bisogna creare una variante di modello (per es., un file article.cs.html
) senza creare nella stessa cartella un file article.html
, con il rischio di vedere ignorata la nostra variante a vantaggio del modello generico di una cartella avente una priorità minore.
Se questo file esiste SPIP utilizza i file dei modelli in base al loro nome cominciando con «quello più preciso», con la rubrica che ha la precedenza sulla lingua. Questo è l’ordine (di priorità decrescente) nel quale i file di modelli sono utilizzati in base al loro nome:
- article=8.cs.html
: se questo file esiste, si applica solo agli articoli in lingua ceca della rubrica numero 8 (ma non agli altri articoli contenuti nelle sotto-rubriche).
- article=8.html
: se questo file esiste, si applica agli articoli della rubrica 8 (ad eccezione degli articoli ai quali si applica un file che ne specifichi anche la lingua, come l’esempio precedente).
- article-2.es.html
: se questo file esiste, si applica agli articoli in spagnolo contenuti nella rubrica 2 e nelle sue sotto rubriche. Se la rubrica 8 è una sotto-rubrica della 2, se vi sono lì dei file questi avranno la priorità.
- article-2.html
: se questo file esiste, si applica agli articoli contenuti nella rubrica 2 e nelle sue sotto-rubriche (ad eccezione degli articoli ai quali si applicano le condizioni indicate sopra).
- article.vi.html
: se questo file esiste, si applica agli articoli in lingua vietnamita, in tutte le rubriche (ad eccezione degli articoli ai quali si applicano i file indicati sopra).
- Infine, il file article.html
si applica a tutti gli articoli ai quali non si applicano i file sopra indicati. E, lo ripetiamo, è assolutamente necessario che questo file sia presente.
Un po’ di storia: Fino alla versione SPIP 1.7, SPIP 1.7.2, se il file
article.html
non esiste, SPIP utilizza il filearticle-dist.html
che è il file fornito di default. Vedere «article 2800».