Comment appeler une balise avec filtre dans une boucle documents en utilisant du php

Bonjour,
je cherche a afficher une image au hasard issue d'une boucle DOCUMENTS
mais seulement si un cookie existe.
Si le cookie n'existe pas j'affiche un objet flash.
la boucle fonctionne mais je n'arrive pas à afficher la taille de l'image
avec le filtre image_reduire.
Je m'y prend certainement très mal.
Ci dessous l'exemple qui ne fonctionne pas
.
Merci pour votre aide

Didier

<BOUCLE_images(DOCUMENTS){extension==jpg|png|gif} {mode=document}{par
hasard}{0,1} >
<?php
  if ($HTTP_COOKIE_VARS['grimteam'] != "test")
  {
  echo "<object id='sponsor' width='300' height='150'
data='./images/info.swf' type='application/x-shockwave-flash'>";
  echo "<param name='movie' value='./images/info.swf' />";
  echo "<param name='wmode' value='transparent' />";
  echo "</object>";
  }
  else;
  {
  echo "[(#FICHIER|image_reduire{100})]";
  }
?>
</BOUCLE_images>

On Jun 8, 5:53 pm, "Didibug" <didib...@yahoo.fr> wrote:

Bonjour,
je cherche a afficher une image au hasard issue d'une boucle DOCUMENTS
mais seulement si un cookie existe.
Si le cookie n'existe pas j'affiche un objet flash.
la boucle fonctionne mais je n'arrive pas à afficher la taille de l'image
avec le filtre image_reduire.
Je m'y prend certainement très mal.
Ci dessous l'exemple qui ne fonctionne pas
.
Merci pour votre aide

Didier

<BOUCLE_images(DOCUMENTS){extension==jpg|png|gif} {mode=document}{par
hasard}{0,1} >
<?php
  if ($HTTP_COOKIE_VARS['grimteam'] != "test")
  {
  echo "<object id='sponsor' width='300' height='150'
data='./images/info.swf' type='application/x-shockwave-flash'>";
  echo "<param name='movie' value='./images/info.swf' />";
  echo "<param name='wmode' value='transparent' />";
  echo "</object>";
  }
  else;
  {
  echo "[(#FICHIER|image_reduire{100})]";
  }
?>
</BOUCLE_images>

Il faut bien que tu comprennes que dans un squelette, le code Spip est
transformé en php avant exécution. Ce qui implique que tu ne peux pas
utiliser PHP pout générer du code Spip.

Accessoirement, tu a aussi une erreur dans ton code PHP (le point
virgule après le 'else', qui termine l'instruction).

Je n'ai (of course) pas testé, mais le code suivant devrait le faire:

<BOUCLE_images(DOCUMENTS){extension==jpg|png|gif} {mode=document}{par
hasard}{0,1}>
<?php
if (isset($_COOKIE['grimteam']) && $_COOKIE['grimteam'] != "test") {
?>
<object id='sponsor' width='300' height='150'
data='./images/info.swf' type='application/x-shockwave-flash'>
<param name='movie' value='./images/info.swf' />
<param name='wmode' value='transparent' />
</object>
<?php } else { ?>
  [(#FICHIER|image_reduire{100})]
<?php } ?>
</BOUCLE_images>

HTH

Super j'ai testé ton code at apres avoir rajouter un ? devant le > à la
ligne 5 et modifié la condition du cookie tout fonctionne.
je colle le code ci-dessous au cas ou quelqu'un serait intéressé.
Merci beaucoup Bruno pour ta collaboration
Didier

<BOUCLE_images(DOCUMENTS){extension==jpg|png|gif} {mode=document}{par
hasard}{0,1}>
<?php
if ($HTTP_COOKIE_VARS['grimteam'] != "pub") {
?>
<object id='sponsor' width='300' height='150'
data='./images/sponsor.swf' type='application/x-shockwave-flash'>
<param name='movie' value='./images/sponsor.swf' />
<param name='wmode' value='transparent' />
</object>
<?php } else { ?>
[(#FICHIER|image_reduire{150})]
<?php } ?>
</BOUCLE_images>

bruno desthuilliers wrote:

On Jun 8, 5:53 pm, "Didibug" <didib...@yahoo.fr> wrote:

Bonjour,
je cherche a afficher une image au hasard issue d'une boucle
DOCUMENTS mais seulement si un cookie existe.
Si le cookie n'existe pas j'affiche un objet flash.
la boucle fonctionne mais je n'arrive pas à afficher la taille de
l'image avec le filtre image_reduire.
Je m'y prend certainement très mal.
Ci dessous l'exemple qui ne fonctionne pas
.
Merci pour votre aide

Didier

<BOUCLE_images(DOCUMENTS){extension==jpg|png|gif} {mode=document}{par
hasard}{0,1} >
<?php
  if ($HTTP_COOKIE_VARS['grimteam'] != "test")
  {
  echo "<object id='sponsor' width='300' height='150'
data='./images/info.swf' type='application/x-shockwave-flash'>";
  echo "<param name='movie' value='./images/info.swf' />";
  echo "<param name='wmode' value='transparent' />";
  echo "</object>";
  }
  else;
  {
  echo "[(#FICHIER|image_reduire{100})]";
  }

</BOUCLE_images>

Il faut bien que tu comprennes que dans un squelette, le code Spip est
transformé en php avant exécution. Ce qui implique que tu ne peux pas
utiliser PHP pout générer du code Spip.

Accessoirement, tu a aussi une erreur dans ton code PHP (le point
virgule après le 'else', qui termine l'instruction).

Je n'ai (of course) pas testé, mais le code suivant devrait le faire:

<BOUCLE_images(DOCUMENTS){extension==jpg|png|gif} {mode=document}{par
hasard}{0,1}>
<?php
if (isset($_COOKIE['grimteam']) && $_COOKIE['grimteam'] != "test") {

<object id='sponsor' width='300' height='150'
data='./images/info.swf' type='application/x-shockwave-flash'>
<param name='movie' value='./images/info.swf' />
<param name='wmode' value='transparent' />
</object>
<?php } else { ?>
  [(#FICHIER|image_reduire{100})]
<?php } ?>
</BOUCLE_images>

HTH