Bonsoir,
comme l'include me manquait vraimment et que l'astuce 'par le web' (cf.
mail d'Arno, ne fonctionne pas chez tous les hébergeurs) ne me plaisait
qu'à moitié, j'ai fini par rajouter une fonction d'include directement à
spip.
La syntaxe est :
<INCLURE fichier=trucchose.html />
La commande peut être placée n'importe où dans un squelette et fait ce
que son nom dit : elle insére le contenu du fichier trucchose.html, et
les boucles de ce fichier seront traitées.
Je teste intensément actuellement et franchement ça fait bien le café
pour les éléments répétitifs
Le code n'est vraimment pas complexe par contre il modifie
in-calcul-squel.php3 donc, à moins d'être intégré dans une distrib je ne
pense pas qu'il soit recommandé à tous.
Je vous joins le fichier in-calcul-squel.php3 modifié et, ci dessous,
les modifs effectuées.
Une petite modif sur la fonction parser_texte($texte, $id_boucle) :
juste rajouter au début :
$texte = parser_include($texte);
et une nouvelle fonction :
function parser_include($texte) {
global $rubriques_publiques;
global $recherche;
//
// Detecter et parser l'instruction include,
// le cas échéant, insérer le fichier
//
$p = strpos($texte, '<INCLURE');
while (!(!$p && (substr($texte, 0, strlen('<INCLURE')) != '<INCLURE'))) {
$avant = substr($texte, 0, $p);
$suite = substr($texte, $p);
if (!ereg("(<INCLURE[[:space:]]*fichier=([a-zA-Z0-9]*)\.html[[:space:]]*/>)", $suite, $match)) {
die ("<h2>Syntaxe include incorrecte :</h2>".htmlspecialchars($suite));
}
$commande = $match[1];
$fichier=$match[2];
$suite = substr($suite, strlen($commande));
$incl = join(file("$fichier.html"), "");
$texte = $avant.$incl.$suite;
$p = strpos($texte, '<INCLURE');
}
return $texte;
}
inc-calcul-squel.php3 (51 KB)