Determining the template file

The ecrire/public/styliser.php file determines the name and type of the template depending on the arguments which are passed to it.
$styliser = charger_fonction('styliser', 'public');
list($skel,$mime_type, $gram, $sourcefile) =
	$styliser($fond, $id_rubrique_fond, $GLOBALS['spip_lang'], $connect);
A 5th argument makes it possible to request a parser (a concrete syntax) and then consequently an extension for the various template files. By default, the parser (and therefore the extension applied) is html. The function searches for a template named $fond.$ext in SPIP’s {path}. If it does not exist, it returns an error, otherwise it atempts to find a more specific template in the same directory as the template found, depending on the id_rubrique and lang parameters. Styliser then searches files like nom=8.html, nom-8.html, nom-8.en.html or nom.en.html in the following order: -* $fond=$id_rubrique -* $fond-$id_rubrique -* $fond-$id_rubrique_parent_recursivement -* then whichever it has found (or not) terminated with .$lang The function then returns a table of elements of what it has found array($squelette, $ext, $ext, "$squelette.$ext") : -* 1st parameter: the name of the template, -* 2nd: its extension -* 3rd: its grammar (the type of parser) -* 4th: the full name. These parameters are used by the composer and its composer() function.

Author Mark Baber Published : Updated : 12/05/17

Translations : English, français, Nederlands