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()
.