Ce billet date de plusieurs années, ses informations peuvent être devenues obsolètes.
On m'a demandé à plusieurs reprises d'expliquer la manière dont j'ai fait mes includes php dans le code des templates de la dernière beta de Dotclear 2. Je me suis inspiré de 2 sources : un post du forum de Dotclear et un post sur elaboration.be.
Ce que j'ai fait : j'ai créé un fichier _public.php dans le dossier de mon thème, en y incluant le code suivant :
<?php
// On ajoute une variable au système de template
$core->tpl->addValue('myinclude',
array('myinclude','tplMyInclude'));
// On défini la classe qui va gérer tout ça
class myinclude {
public static function tplMyInclude($attr) {
if (!isset($attr['src'])) { return; }
$src = $attr['src'];
return '<?php include("' . $src . '"); ?>';
}
}
?>
Puis pour faire un include dans un template html de Dotclear :
{{tpl:myinclude src="monfichier.html"}}