Het bestand
ecrire/public/styliser.php bepaald de naam en het type skelek afhankelijk van de doorgegeven argumenten.
$styliser = charger_fonction('styliser', 'public');
list($skel,$mime_type, $gram, $sourcefile) =
$styliser($fond, $id_rubrique_fond, $GLOBALS['spip_lang'], $connect);
Een 5e argument maakt het mogelijk om een parser (een concrete syntaxis) aan te vragen en vervolgens een extensie voor de verschillende skeletbestanden. Standaard is de parser (en dus de toegepaste extensie)
html
.
De functie zoekt naar een skelet met de naam
$fond.$ext
in SPIP’s {zoekpad}. Als het niet bestaat, geeft het een fout terug, anders wordt geprobeerd een meer specifiek skelet te vinden in dezelfde map als het gevonden skelet, afhankelijk van de
id_rubrique
en
lang
parameters.
Styliser
doorzoekt vervolgens bestanden zoals
naam=8.html
,
naam-8.html
,
naam-8.nl.html
of
naam.nl.html
in de volgende volgorde:
-*
$fond=$id_rubrique
-*
$fond-$id_rubrique
-*
$fond-$id_rubrique_bovenliggend_recursief
-* en degene die het (al dan niet) heeft gevonden met de
.$lang
De functie geeft dan een tabel met de elementen die deze heeft gevonden
array($squelette, $ext, $ext, "$squelette.$ext")
:
-* 1e parameter: de naam van het skelet,
-* 2e: de extensie
-* 3e: de taal (het type parser)
-* 4e: de volledige naam.
Deze worden gebruikt door de samensteller en diens functie
composer()
.