De voordelen zijn duidelijk: er is een duidelijke scheiding tussen de standaard skeletten en jouw aangepaste versies en je kunt in één keer de hele set skeletten vervangen. Bovendien worden jouw skeletten niet overschreven bij een update van SPIP.
De standaardskeletten: squelettes-dist/
Die "distributie-skeletten" — die welke standaard met SPIP worden meegeleverd — staan in één map gegroepeerd. Deze pagina’s bevatten de informatie die de standaard weergave van een SPIP-site bepalen en moeten niet worden gewijzigd. Je kunt hun inhoud raadplegen en gebruiken om deze vervolgens aan te passen aan jouw behoeftes [1].
Nogmaals, pas nooit deze set van skeletten aan, anders loop je het risico dat al je aanpassingen bij een update van SPIP verloren gaan!
Om dit te vermijden maak je een kopie van de bestanden die je wilt aanpassen, en je slaat deze op in een aparte map.
Jouw map squelettes/
Al vanaf SPIP 1.8 worden aangepaste skeletten opgeslagen in een map squelettes/
, die je zelf moet aanmaken in de root van je SPIP-site. Of het nu gaat om een volledige set van skeletten (bijvoorbeeld bij Skeletten internationaal maken), of een kleine aanpassing, je gebruikt altijd deze map!
In deze map kun je dus je eigen layout bepalen door er jouw bestanden article.html, rubrique.html, enz. in op te slaan. Je hoeft er geen volledige set skeletten te plaatsen, alleen diegene die je hebt aangepast.
Voor de weergave van een pagina gaat SPIP eerst zoeken in de map squelettes/; en vindt SPIP er niet het benodigde .html bestand, dan gaat het zoeken in map squelettes-dist/.
Dus heb je in jouw map squelettes uitsluitend een bestand article.html geplaatst, dan zal SPIP dat gebruiken om een artikel weer te geven, maar alle andere pagina’s worden opgebouwd met behulp van de skeletten in squelettes-dist.
De map squelettes/ is bestemd voor allen bestanden die nodig zijn voor de pagina-indeling van je site. We vinden er:
- de aangepaste skeletten, de .html bestanden met de SPIP markuptaal;
- de in de skeletten ingesloten bestanden, bij voorkeur in een submap inc/;
- de nieuwe of aangepaste modellen, bij voorkeur in een submap modeles/;
- de aangepaste formulieren, bij voorkeur in een submap formulaires/;
- de aangepaste of extra stylesheets die de grafische weergave bepalen. Hun aanpassing kan tot spectaculaire verandering van de layout leiden, soms zelfs zonder aanpassing van de standaardskeletten. Lees: «Pas jouw "style" toe!»;
- de afbeeldingen die in de skeletten gebruikt worden;
- het bestand mes_fonctions.php dat je persoonlijke filters en aangepaste variabelen bevat die gebruikt worden in jouw skeletten;
- de javascript bestanden;
- de aangepaste taalbestanden (vgl.: «Skeletten internationaal maken»), bij voorkeur in een submap lang/;
- enz...
Een andere map voor de skeletten gebruiken
Je kunt jouw aangepaste skeletten in een map van jouw keuze plaatsen door de naam vast te leggen in het bestand mes_options.php, met de variabele $dossier_squelettes
, zoals uitgelegd in de documentatie over dit onderwerp. SPIP zal dan eerst naar skeletten gaan zoeken in deze map.
Zo kun je bijvoorbeeld een nieuwe set skeletten uitproberen zonder de vorige set te verwijderen, of om dynamisch meerdere layouts te beheren.
Volgorde van de skelettenmappen
We vatten nog even samen hoe SPIP op zoek gaat naar een skelet:
- in eerste instantie in de map die is vastgelegd met de variabele $dossier_squelettes, als die is gedefinieerd;
- vervolgens in de map
squelettes/
in de root van de site; - daarna in de lijst van mappen van de variabele $plugins;
- daarna (om historische redenen) in de root van de site;
- daarna in de map squelettes-dist/;
- en tenslotte in de map ecrire/.
Hierbij spreken we alleen over de mappen. Binnen de skeletten in een map bestaat ook een prioriteit, waarover je meer uitleg vindt in Varianten van skeletten.
Opmerking: Dit zoekmechanisme is niet alleen van toepassing op skeletten. De gehele programmering van SPIP is erop gebaseerd. Het is wat in het jargon van SPIP het «SPIP_PATH» genoemd wordt en het bepaalt dan ook de norm voor de ontwikkeling van «plug-ins», de uitbreidingen van de functionaliteit van SPIP.
Op deze wijze kan hoegenaamd alles in SPIP worden aangepast zonder dat dit invloed heeft op de core, het distributiepakket van SPIP!