SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Documentation > Archives documentation > Bidouilles pour avant SPIP 1.9

Transporter des balises a une boucle du niveau inferieur ou superieur

jeudi 5 août 2004, par JMSE. Dernier ajout dimanche 5 septembre 2004



Salut de l’Espagne et pardon pour mon français.

Il y a une manière pour transporter des balises a une boucle du niveau inferieur, n’importe pas le profundite deaux boucles, pour utiliser dans critères :

Dans mes_fonctions.php3 :

function set_var_contexte($texte, $var, &$contexte) {
   $contexte["$var"] = "$text" ;
   return ;
}

Dans le squelette(exemple) :

<BOUCLE_forum(FORUMS) {id_article}...>
   ...
   [(#ID_FORUM|set_var_contexte{'monparam', $contexte})]
   ...
   <BOUCLE_discusion(FORUMS){id_enfant}...>
       #TITRE (c'est le parent)
       <BOUCLE_autre(FORUMS){id_forum=$monparam}...>
           #TITRE (c'est l'enfant exterieur encore)
       </BOUCLE_autre>
       ...
   </BOUCLE_discusion>
   ...
<BOUCLE_forum>

Mais pour enlever des variables d’une boucle du niveau inferieur a une boucle du niveau superieur, c’est ne marche pas pourquoi le changements du contexte inferieur sont perdus aux fin de boucle.

Ainsi c’est nécessaire :

Dans mes_fonctions.php3 :

function set_var_global($text, $var) {
   global $mon_contexte ;
   $mon_contexte["$var"] = "$text" ;
   return ;
}
function echo_var_global($void, $var) {
   global $mon_contexte ;
   return $mon_contexte["$var"] ;
}
function set_var_contexte($texte, $var, &$contexte) {
   $contexte["$var"] = "$text" ;
   return ;
}

Dans le squelette (ca marche aussi pour des boucles recursives) :

<BOUCLE_forum(FORUMS) {id_article}...>
   ...
   [(#ID_FORUM|set_var_global{'monparam'})]
   ...
   (recherche le message a la racine)
   <BOUCLE_top(FORUMS) {id_enfant}>
       [(#ID_FORUM|set_var_global{'monparam'})]
       <BOUCLE_ascendente(boucle_top)>
       </BOUCLE_ascendente>
   </BOUCLE_top>

   < !-- Ici, le #ID_FORUM il ne sert pas à n'importe quoi, seulement sert pour lancer le filtre -->
   [(#ID_FORUM|echo_var_global{'monparam'}|set_var_contexte{'monparam', $contexte})]
   ...
   <BOUCLE_discusion(FORUMS){id_forum=$monparam}...>
       #TITRE (le message a la racine)
       ...
   </BOUCLE_discusion>
   ...
<BOUCLE_forum>

C’est tout. C’est n’est pas très elegant mais...

Salut Jose M. Sánchez Sevilla (España)


Répondre à cet article



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net