Quan hi ha elements de text i bucles comuns a diversos fitxers, podem voler extreure aquests elements de les pàgines on es troben, agrupar-los en un fitxer separat, i cridar-los des de les altres plantilles. D’aquesta manera, s’agrupa el codi comú en un fitxer únic, facilitant notablement les modificacions que afecten a diferents plantilles d’un sol cop.
S’instal·len d’aquesta manera, a dins d’aquests fitxers separats cridats a partir de nombrosos esquelets, elements com:
— les declaracions d’encapçalament de pàgines HTML (crida dels javascript, dels fulls d’estil...),
— els elements de navegació comuns a la majoria de les pàgines (al capdamunt de la pàgina, a la columna de l’esquerra...),
— el bàner superior (logotip, enllaços als crèdits del lloc Web, pàgina de contacte...),
— un peu de pàgina...
Sintaxi d’inclusió
Les persones habituades al PHP coneixen la funció
include, el principi de la qual és similar al que es presenta aquí.
A partir d’[SPIP 1.4], es pot cridar una plantilla des d’una altra plantilla gràcies a l’etiqueta <INCLURE> (també es pot fer servir <INCLUDE>, que és idèntica). La seva sintaxi general és:
<INCLURE(fichier.php3){paramètre}...>
El «fichier.php3» és el nom del fitxer que es vol integrar a la nostra pàgina. Imaginem, per exemple, que totes les pàgines del lloc mostren les mateixes informacions a peu de pàgina. Haurem d’agrupar el codi SPIP i HTML d’aquest «peu de pàgina» en un fitxer «pied.html», plantilla que és cridada, a la vegada, pel fitxer «pied.php3» (seguint sempre segons el principi de parelles de fitxers destinats a cridar els esquelets). N’hi haurà prou en afegir la línia següent, a l’indret que vulguem, en cadascuna de les plantilles que vulguem mostrar a peu de pàgina:
A partir d’SPIP 1.8.2 la distribució inclou un fitxer page.php3 que permet cridar tot l’esquelet passant en paràmetre el «fond». D’aquesta manera podrem evitar el fitxer pied.php3 i reemplaçar d’una manera avantatjosa la crida que hem posat més amunt per:
Aquesta sintaxi es simplifica encara més a partir d’SPIP 1.9, ja que a partir d’ara no necessita res més que el nom de l’esquelet a incloure, d’aquesta manera:
Inclusions que depenen del context
Algunes inclusions poden dependre del context. Per exemple, imaginem una plantilla «hierarchie», que mostri el camí que porta a una secció a partir de l’arrel del lloc; anomenaríem a aquesta pàgina amb una URL del tipus: «spip.php?page=hierarchie&id_rubrique=xxx».
En les plantilles que volen mostrar la jerarquia a partir de la secció on estem, fa falta indicar que el paràmetre corresponent és {id_rubrique}; si fos necessari, crearem un bucle que permeti recuperar el número de la secció corresponent, i instal·larem a l’interior d’aquest bucle el codi següent:
Nota: en aquest cas, la plantilla
hierarchie.htmlcomençarà certament per un bucle seccions amb el criteri{id_rubrique}...
Podem imaginar que, en algunes plantilles, el que voldrem serà recuperar la jerarquia no en funció d’una secció «variable» (a caprici del context, per exemple el paràmetre passat a la URL), sinó en funció d’una secció de la que coneixem el número prèviament. Per fer això, hem de fixar el valor del paràmetre d’aquesta manera:
N.B. És possible indicar diversos paràmetres dins de l’etiqueta <INCLURE>; no obstant, a la pràctica aquest cas és poc freqüent. Eviteu afegir paràmetres inútils, que la única cosa que aconsegueixen és alentir i fer menys eficaç el vostre lloc.
N.B. Com que el fitxer inclòs és ell mateix una plantilla, tindrà el seu propi valor de $delais [1]. Això pot ser pràctic per separar els elements més pesats del lloc, que s’actualitzen menys sovint, i aquells elements que són més dinàmics i que necessiten una actualització més freqüent (per exemple, la sindicació).
En un context multilingüe
Si el multilingüisme d’SPIP està activat a partir de SPIP 1.7, SPIP 1.7.2 es pot definir la llengua d’entorn d’un esquelet inclòs utilitzant el paràmetre {lang}.
- Si no es fa servir cap paràmetre de llengua, és a dir sota la forma <INCLURE{fond=pied}>, l’esquelet inclòs es cridat utilitzant la llengua per defecte del lloc Web;
- <INCLURE{fond=pied}{lang=fr}> crida l’esquelet en francès. Evidentment, podeu substituir «fr» pel codi ISO de la llengua desitjada: en per l’anglès, ca pel català, es per l’espanyol, vi pel vietnamita, etc. (voir: «Internacionalitzar els esquelets (plantilles)»);
- <INCLURE{fond=pied}{lang}> crida l’esquelet en la llengua actual del context d’inclusió.
Fixem-nos que això fa possible que utilitzem codis de fitxers de llengua en els esquelets inclosos (veure «Internacionalitzar els esquelets (plantilles)»).
Els esquelets inclosos suporten els mateixos mecanismes de selecció per llengua que els esquelets de «primer nivell». En altres paraules, els esquelets inclosos (en aquest cas pied.html) poden ser definits d’acord a una llengua determinada (pied.fr.html, per exemple) igual que qualsevol altre esquelet. Un cop més, veure «Internacionalitzar els esquelets (plantilles)» si en volem conèixer més detalls.

SPIP 1.9.2