Déterminer le fichier de squelette

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

Auteur Matthieu Marcillaud Publié le : Mis à jour : 12/03/23

Traductions : English, français, Nederlands