Utiliser une variable php dans une boucle d'un squelette - commentairesUtiliser une variable php dans une boucle d'un squelette2008-11-13T09:09:22Zhttps://files.spip.org/Utiliser-une-variable-php-dans-une#comment4100272008-11-13T09:09:22Z<p>Merci pour les tutos<small class="fine d-inline"> </small>;</p>
<p>Néanmoins j'ai une question qui va vous paraitre simple cer<br class="autobr">
rien ne passe chez moi (spip 1.9.2<sup class="typo_exposants">d</sup>)</p>
<p>Je souhaite changer de mode de tri dans une boucle :</p>
<p>if telle URL</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_messages(FORUMS){id_article}{plat}{ par titre }{pagination #CONFIG{spipbb/fixlimit}}></code></pre></div>
<p>else <br class="autobr">
<code class="spip_code spip_code_inline" dir="ltr"><BOUCLE_messages(FORUMS){id_article}{plat}{ par date_thread }{pagination #CONFIG{spipbb/fixlimit}}></code></p>
<p>J'ai tenté de recupérer les variables en php, pour les utiliser à la place de <strong>par titre</strong> ou <strong>par date_thread</strong></p>
<p>ou de carrement reécrire la ligne <BOUCLE... en php, mais rien y fait<small class="fine d-inline"> </small>!!!</p>
<p>Quelqu un pourrait il m'expliquer l'astuce pour une utilisation de Boucle Conditionnelles sous Spip, le bon vieux, IF ELSE<small class="fine d-inline"> </small>!?</p>
<p>Merci d'avance</p>> Utiliser une variable php dans une boucle d'un squelette2006-12-08T21:44:40Zhttps://files.spip.org/Utiliser-une-variable-php-dans-une#comment3893712006-12-08T21:44:40Z<p>Le balises <code class="spip_code spip_code_inline" dir="ltr">#ENV</code> ne permettent pas d'affecter la valeur d'une variable PHP (<code class="spip_code spip_code_inline" dir="ltr">#SETENV{var, $var_php}</code> ne marche pas)<br>
Par contre, il y a un moyen de récupérer facilement la valeur d'une variable PHP dans SPIP : en utilisant les filtres</p>
<p>Ex :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>// Pour renvoyer la valeur de $var_php
function mon_filtre($dummy) { return $var_php;
}</code></pre></div>
<p><br>
Utilisation dans une boucle : par ex, pour récupérer les <code class="spip_code spip_code_inline" dir="ltr">$var_php</code> 1<sup class="typo_exposants">ers</sup> articles d'une rubrique :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_rubrique(RUBRIQUES) {id_rubrique}> <BOUCLE_articles(ARTICLES) {0, #SELF|mon_filtre}>
...
</BOUCLE_articles> </BOUCLE_rubrique></code></pre></div>
<p>Dans cet exemple, on peut remplacer <code class="spip_code spip_code_inline" dir="ltr">#SELF</code> par quasiment n'importe quoi (puisqu'on ignore <code class="spip_code spip_code_inline" dir="ltr">$dummy</code> dans le code du filtre)</p>Utiliser une variable php dans une boucle d'un squelette2005-12-05T16:57:14Zhttps://files.spip.org/Utiliser-une-variable-php-dans-une#comment3846672005-12-05T16:57:14Z<p>Bonjour,<br class="autobr">
la fonction calculer_texte() n'existe pas dans SPIP version 1.8.2, est ce que qlq pourrait m'indiquer comment faire pour patcher cette version de SPIP pour qu'il reconnaisse la balise <small class="fine d-inline"> </small>?<br class="autobr">
merci pour votre aide</p>> Utiliser une variable php dans une boucle d'un squelette2005-05-04T16:02:40Zhttps://files.spip.org/Utiliser-une-variable-php-dans-une#comment3808572005-05-04T16:02:40Z<p>Salut, j'ai le même probleme que toi as tu trouvé un solution qui marche <br class="autobr">
avec la version 1.7.2<small class="fine d-inline"> </small>????<br class="autobr">
Merci de bien vouloir me répondre.</p>> Utiliser une variable php dans une boucle d'un squelette2005-04-08T22:25:18Zhttps://files.spip.org/Utiliser-une-variable-php-dans-une#comment3801992005-04-08T22:25:18Z<p>Je suis passé sous 1.8 depuis. Et elle introduit une nouvelle balise #ENV dont je me sers. J'ai fait une contrib - en évaluation pour le moment - ici : <a href="http://www.spip-contrib.net/ecrire/articles.php3?id_article=875" class="spip_url spip_out auto" rel="nofollow external">http://www.spip-contrib.net/ecrire/articles.php3?id_article=875</a></p>> Utiliser une variable php dans une boucle d'un squelette2005-03-20T07:19:14Zhttps://files.spip.org/Utiliser-une-variable-php-dans-une#comment3797312005-03-20T07:19:14Z<p>Est-ce que tu as trouvé la solution, car j'ai le même problème<small class="fine d-inline"> </small>?</p>
<p>merci</p>> Utiliser une variable php dans une boucle d'un squelette2004-11-20T12:06:07Zhttps://files.spip.org/Utiliser-une-variable-php-dans-une#comment2099672004-11-20T12:06:07Z<p>Tout d'abord un grand merci pour ta contrib. (Je t'ai envoyé un message à l'adresse que tu donnes ci-dessus, mais je ne suis pas sûr qu'il ait été pris en compte, j'ai été redirigé après validation. Je me permets donc de le recopier ici)<br class="autobr">
Je me heurte à un problème :<br class="autobr">
Mes articles sont en fait des fiches produits. Je souhaite lier ces fiches. J'utilise donc le champ #NOM_SITE que je détourne, puisqu'il ne me sert à rien en tant que tel (pas de site à lier). J'y stocke les numéros des articles liés séparés par |.<br class="autobr">
Dans mon squelette, grâce à ta contrib, j'écris :</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code><BOUCLE_art(ARTICLES){id_rubrique}>
<SPIP_PHP>
$contexte['indisp']=#NOM_SITE;
</SPIP_PHP>
<BOUCLE_art_dep(ARTICLES){id_article==^[$indisp]}>
#TITRE<br>#CHAPO<br>
</BOUCLE_art_dep>
</BOUCLE_art></code></pre></div>
<p>Et là, patatrac<small class="fine d-inline"> </small>! J'obtiens :<br class="autobr">
$contexte['indisp']=2<small class="fine d-inline"> </small>;<br class="autobr">
et une erreur mySQL sur la boucle art_dep :<br class="autobr">
Got error 'brackets ([ ]) not balanced' from regexp</p>
<p>Par contre, si je remplace #NOM_SPIP par 2|6 par exemple, ça marche.</p>
<p>Si tu as un peu de temps à m'accorder et une bonne idée là-dessus, ça m'aiderait<small class="fine d-inline"> </small>!</p>
<p>Merci d'avance,</p>
<p>Philippe</p>