Bonjour Pierre,
> 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.
Déjà développée par David <david@nfet.net> et postée ici
même le 2
janvier. La fonction marche très bien.
Je devais pas encore être abonnée à la ml.
Dommage de l'avoir pas dit plus tot, il me semble que la
question a été soulevée plusieurs fois sur la ml utilisateurs.
Pourquoi la fonction n'avait-elle pas été intégrée à
l'époque ? à cause des problèmes d'include récursif ou
d'include multiple du même fichier (cf. mails d'hiers à ce
sujet) ou tout simplement par ce qu'elle ne présenterait pas
un intéret suffisant ?
Si quelqu'un peut me faire suivre les messages importants de
la discussion qui avait du avoir lieu à cette occasion ça
serait cool, que je revienne pas avec des modifs de ma
fonction qui aient aussi déjà été faites... J'ai cherché sans
succès sur les archives browsables de la ml utilisateurs mais
ça devait être sur celle de dvp.
merci
Pierre
-- BohwaZ
---- MESSAGE ORIGINAL ----
**
To: <spip-dev@rezo.net>
Subject: [spip-dev] fonction Include dans les squelettes
From: "David" <david@nfet.net>
Date: Wed, 2 Jan 2002 13:21:56 +0100
**Bonjour, Voila, il me manquais une fonctionnalité quand j'ai
voulu
créer un squelette pour spip : la possiblilté d'inclure un
squelette
dans un autre.
Pour par exemple créer un menu avec mes rubriques qui soit
toujours le
meme dans les différents squelettes (article, sommaire,
etc.) Donc
voici une fonction qui fait ca, de façon récursive. Elle ne
devrais pas
ralentire le traitement quand elle n'est pas utilisée...
fichier : inc-calcul-squel.php3
function parser_include($texte) {
$result = '';
while ($texte) {
if (($p=strpos($texte, '<INCLUDE')) === false) {
$result.=$texte;
$texte = "";
} else {
$result .= substr($texte, 0, $p);
$f = strpos($texte, '>', $p);
$incl = substr($texte, $p, $f - $p + 1);
if ($r = ereg('<INCLUDE[[:space:]]*([^>]*)>', $incl,
$regs)) {
$result .= parser_include(implode("", file($regs[1])));
}
$texte = substr($texte, $f + 1);
}
}
return $result;
}Pour que ca fonctionne il faut l'appeler avant tout
traitement sur le
squelette donc je l'ai rajoutée au début de la fonction :
function parser_texte($texte, $id_boucle) {
global $boucles;
$i = 0;
$texte = parser_include($texte);...
Pour l'utilisation : dans un squelette, je met :
<INCLUDE monfichier.html> tout simplement_______________________________________________
spip-dev@rezo.net -
http://listes.rezo.net/mailman/listinfo/spip-dev
"Accédez au courrier électronique de La Poste : www.laposte.net ; 3615 LAPOSTENET (0,13 /mn) ; tél : 08 92 68 13 50 (0,34/mn)"