Le fichier
ecrire/public/styliser.php détermine le nom et le type de squelette en fonction des arguments qui lui sont transmis.
$styliser = charger_fonction('styliser', 'public');
list($skel,$mime_type, $gram, $sourcefile) =
$styliser($fond, $id_rubrique_fond, $GLOBALS['spip_lang'], $connect);
Un 5e argument permet de demander un phraseur (une syntaxe concrète) et par conséquent une extension des fichiers de squelettes différents. Par défaut, le phraseur, donc l’extension utilisée, est
html
.
La fonction cherche un squelette nommé
$fond.$ext
dans le {path} de SPIP. S’il n’existe pas, elle renvoie une erreur, sinon elle tente de trouver un squelette plus spécifique dans le même répertoire que le squelette trouvé, en fonction des paramètres d’
id_rubrique
et
lang
.
Styliser cherche alors des fichiers comme
nom=8.html
,
nom-8.html
,
nom-8.en.html
ou
nom.en.html
dans l’ordre :
-*
$fond=$id_rubrique
-*
$fond-$id_rubrique
-*
$fond-$id_rubrique_parent_recursivement
-* puis ce qu’il a trouvé (ou non) complété de
.$lang
La fonction retourne alors un tableau d’éléments de ce qu’elle a trouvé
array($squelette, $ext, $ext, "$squelette.$ext")
:
-* 1er paramètre : le nom du squelette,
-* 2e : son extension
-* 3e : sa grammaire (le type de phraseur)
-* 4e : le nom complet.
Ces paramètres servent au composeur et sa fonction
composer()
.