Passer TOUS les paramètres de l'URL à un INCLURE - commentaires Passer TOUS les paramètres de l'URL à un INCLURE 2012-02-13T18:57:49Z https://files.spip.org/Passer-TOUS-les-parametres-de-l-URL-a-un-INCLURE#comment454465 2012-02-13T18:57:49Z <p>Fonctionnalité intégrée au Core depuis...... (au moins SPIP v2<small class="fine d-inline"> </small>! )</p> Passer TOUS les paramètres de l'URL à un INCLURE 2007-01-18T16:17:34Z https://files.spip.org/Passer-TOUS-les-parametres-de-l-URL-a-un-INCLURE#comment390373 2007-01-18T16:17:34Z <p>Le hack est pas mal, mais (pour mémoire) quelqu'un avait eu l'idée de faire un critère d'inclusion spécifique qui fasse ça «<small class="fine d-inline"> </small>proprement<small class="fine d-inline"> </small>». Seulement j'ai oublié quel nom on voulait lui donner...</p> Passer TOUS les paramètres de l'URL à un INCLURE 2007-01-18T12:25:57Z https://files.spip.org/Passer-TOUS-les-parametres-de-l-URL-a-un-INCLURE#comment390370 2007-01-18T12:25:57Z <p>Merci pour l'idée, c'est pile ce qu'il me fallait :-)</p> <p>Pour éviter l'usage systématique du filtre env, qui est un peu lourd, on peut définir la fonction suivante (dans mes_fonctions ou un plugin) :</p> <div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>function balise_SETENV($p) { $p->code = "(\$Pile[0]= array_merge(unserialize(\$Pile[0]['env']), \$Pile[0]))&&''"; return $p; }</code></pre></div> <p>Cette fonction copie le contenu de l'argument env dans l'environnement courant.</p> <p>Donc si le squelette inclu contient au début un #SETENV, <code class="spip_code spip_code_inline" dir="ltr">[(#ENV{env}|env{mon_param})]</code> peut être remplacé par <code class="spip_code spip_code_inline" dir="ltr">#ENV{mon_param}</code> ou même <code class="spip_code spip_code_inline" dir="ltr">#MON_PARAM</code> s'il n'y a pas de risque de confusion avec une balise de boucle.</p> <p>Attention, pour éviter les strreplace et compagnie, il faut appeler cette version avec<code class="spip_code spip_code_inline" dir="ltr">{env=#ENV**}</code></p>