Els avantatges d’aquesta disposició són evidents: millor separació del codi d’SPIP i de l’estructura del lloc, possibilitat de canviar tot un conjunt d’esquelets de cop, etc.
Històric: En les versions anteriors a SPIP 1.8 i SPIP 1.9, els fitxers d’esquelets proporcionats amb la distribució d’SPIP es trobaven a dins de la carpeta dist. A les versions anteriors a SPIP 1.8, els esquelets estaven a l’arrel. Veure: «article 2170».
Els esquelets per defecte: squelettes-dist/
Els esquelets de la distribució — és a dir aquells que es proporcionen oficialment amb la instal·lació d’SPIP — estan agrupats a dins d’un únic directori. Aquests fitxers contenen les informacions sobre la configuració per defecte del lloc Web i no es poden modificar. Podeu examinar el contingut d’aquest directori i partir d’aquest joc d’esquelets per fer la configuració segons les vostres necessitats. [1]
No obstant, no fa falta modificar els esquelets de la distribució, sinó correu el risc de perdre totes les vostres modificacions a cada actualització d’SPIP!
Per evitar-ho, feu una còpia dels fitxers que desitgeu modificar, i situeu-los a dins d’una altre directori, tal i com indiquem a continuació.
La vostra carpeta squelettes/
A partir d’SPIP 1.8, els esquelets personalitzats s’han de guardar a dins d’una carpeta anomenada squelettes/
(alerta amb la «s» final!), que heu de crear a l’arrel del vostre lloc SPIP. Tant si voleu instal·lar un joc complet d’esquelets (agafats a SPIP - Contrib o a qualsevol altra banda), o fer una lleugera modificació als esquelets per defecte, situeu els vostres esquelets a dins d’aquest directori.
D’aquesta manera, un usuari que vulgui crear la seva pròpia configuració, desenvoluparà els seus propis fitxers article.html, rubrique.html, etc. a dins de la carpeta squelettes/. Fixeu-vos bé que no és indispensable ubicar un joc complet d’esquelets a dins d’aquesta carpeta.
Per visualitzar les pàgines del lloc Web, SPIP cerca els esquelets en primer lloc a dins de la carpeta squelettes/; si SPIP no hi troba el fitxer .html que necessita, anirà a buscar el de la distribució, a dins de la carpeta squelettes-dist/.
Així, si només heu posat un únic fitxer a dins de la carpeta squelettes, per exemple article.html, SPIP utilitzarà aquest esquelet per mostrar els articles, i els de la dist per a totes les altres pàgines del lloc.
La carpeta squelettes/ està destinada a rebre tots els fitxers necessaris per a la configuració d’un lloc Web. Hi guardarem, per tant :
- els esquelets, és a dir els fitxers .html amb codi SPIP;
- els fitxers inclus a dins dels esquelets (així com, per a les versions anteriors a SPIP 1.9, el seu fitxer php3 corresponent) i els models (a partir d’SPIP 1.9);;
- els formularis modificats, preferentment a dins d’una subcarpeta formulaires/
- els fulls d’estil CSS que són els encarregats de l’aparença gràfica; personalitzar-los permet variar, sovint de manera espectacular, l’aparença d’un lloc Web sense intervenir en els esquelets. Veure: «Poseu-hi el vostre estil! »;
- les imatges utilitzades en els esquelets;
- el fitxer mes_fonctions.php on hi ha els filtres i les variables de personalització pròpies d’aquest joc d’esquelets;
- els fitxers javascripts;
- els fitxers de llengua personalitzats (cf.: «Internacionalitzar els esquelets (plantilles)», mètode dels fitxers de llengua), preferentment a dins d’una subcarpeta lang/;
- etc...
Utilitzar una altra carpeta d’esquelets
A partir d’SPIP 1.5 és possible guardar els esquelets a dins d’una carpeta que porti el nom que vosaltres escolliu, sempre i quan ho feu constar a dins del fitxer mes_options.php, amb la variable de personalització $dossier_squelettes
, tal i com s’explica a la documentació corresponent. SPIP buscarà, en primer lloc, els esquelets a dins de la carpeta declarada d’aquesta manera.
Això us permet, per exemple, provar un nou joc d’esquelets sense esborrar l’antic, o gestionar dinàmicament diversos jocs d’esquelets.
Prioritat de les carpetes d’esquelets
Siguem més exhaustius i resumim. A grans trets, quan SPIP ha d’utilitzar un fitxer, el busca a dins de diferents carpetes en l’ordre següent:
- en primer lloc a dins la llista de carpetes assenyalades a dins la variable $dossier_squelettes, si aquesta està definida;
- a continuació a dins de la carpeta
squelettes/
situat a l’arrel del lloc; - després (a partir d’SPIP 1.9) a dins la llista de carpetes de la variable $plugins;
- a continuació a l’arrel del lloc;
- a dins de la carpeta squelettes-dist/;
- i, finalment, a dins de la carpeta ecrire/.
«A grans trets», ja que a això s’hi afegeixen algunes subtileses [2] com un ordre de prioritat per fitxer d’esquelet, que permet variants més fines: per secció, per branca o per llengua, tal i com s’explica a la documentació corresponent.
Advertència: A partir d’SPIP 1.9: De fet, el mecanisme descrit més amunt per escollir la ubicació d’un fitxer no s’aplica només als esquelets, sinó també al conjunt del codi d’SPIP. En l’argot dels desenvolupadors es parla de «sobrecarregar el codi», a l’ordre d’escollir les carpetes que estan a dins d’«SPIP_PATH». Això situa el marc i les normes pel desenvolupament dels «plug-ins», extensions de funcionalitats d’SPIP que qualsevol persona de dins de la comunitat pot aportar.
D’aquesta manera, es pot modificar segons vulguem qualsevol característica del comportament d’SPIP sense privar-nos en un futur de les evolucions de la distribució i del suport de la comunitat. SPIP ha esdevingut modular!
Històric: El fet que SPIP busqui esquelets a l’arrel és històric, ja que era el primer indret on estaven situats. Això tenia l’avantatge de tornar els esquelets «visibles» en un navegador, ja que els enllaços als .css i altres dissenys gràfics havien d’estar, necessàriament, teclejats “directament” a partir de l’arrel.
A més, fins a SPIP 1.8.3, SPIP cercava els esquelets a l’arrel abans que a la carpeta squelettes/.
I els fitxers .php3 (o .php) a dins de tot això?
Recordem abans que res que a partir d’SPIP 1.9, ja no hi ha cap fitxer .php3
(o .php
) pels esquelets: SPIP calcula totes les seves pàgines a partir d’un únic script spip.php. Tot el que segueix és, per tant, històric.
A SPIP 1.8.2 i SPIP 1.8.3, hi havia un fitxer page.php3 que prefigurava l’spip.php i la forma d’inclusió d’SPIP 1.9. En efecte, page.php3 permetia, només a ell, cridar qualsevol esquelet passant com a paràmetre la variable de fons, és a dir el fitxer esquelet .html a utilitzar:
www.elmeulloc.org/page.php3?fond=elmeu_esquelet&...
El més simple era llavors utilitzar una crida d’aquest tipus [3] per qualsevol altre esquelet que no sigui els dels objectes de base (article, breu, secció, sumari,... ) pels quals hi ha a l’arrel un fitxer
.php3
, cosa que permetia la crida habitual del tipus:www.elmeulloc.org/article.php3?...
Fins a SPIP 1.8.1 era necessari crear un fitxer
.php3
, que anava lligat amb el vostre.html
en l’antiga estructura dels esquelets SPIP, i que forçosament calia situar a l’arrel del lloc Web [4].