j'ai essayé ça:
<?
$mot=secondes;
echo '<BOUCLE_secondes(BREVES){titre_mot='.$mot.'}{pardate}{inverse}{age<180}>';
?>
apparemment ça ne marche pas...
je commets une erreur ou Spip ne peut pas digérer ce genre de manip?
Normalement la variable passe sans problème.
Par contre tu as mis un point devant ta variable, c'est fait exprès ?
Et j'enlèverais les quotes je pense.
Athama
----- Original Message -----
From: "sylpub" <sylpub@free.fr>
To: <spip@rezo.net>
Sent: Sunday, May 23, 2004 1:49 PM
Subject: [Spip] passer une var php dans une boucle?
j'ai essayé ça:
<?
$mot=secondes;
echo
'<BOUCLE_secondes(BREVES){titre_mot='.$mot.'}{pardate}{inverse}{age<180}>';
?>
apparemment ça ne marche pas...
je commets une erreur ou Spip ne peut pas digérer ce genre de manip?
en fait dansle code précédent j'ai oublié les quotes autour de secondes...
--------------
<?
$mot='secondes';
echo ' <BOUCLE_secondes(BREVES){titre_mot='.$mot.'}{pardate}{inverse}{0,10}>';
?>
--------------
et je maintiens les quotes dans echo pour que ma variable soit bien interprétée comme variable et pas comme chaine de caractère...
mais rien n'y fait... il semblerait que le php ne passe pas dans les <> de la boucle. Alors qu'il passe bien à l'intérieur de la boucle elle même...c'est dommage car ça m'ouvrirait une foule de possibilités...
Athama Ashen wrote:
Normalement la variable passe sans problème.
Par contre tu as mis un point devant ta variable, c'est fait exprès ?
Et j'enlèverais les quotes je pense.Athama
http://www.fantastikasia.net/----- Original Message -----
From: "sylpub" <sylpub@free.fr>
To: <spip@rezo.net>
Sent: Sunday, May 23, 2004 1:49 PM
Subject: [Spip] passer une var php dans une boucle?j'ai essayé ça:
<?
$mot=secondes;
echo'<BOUCLE_secondes(BREVES){titre_mot='.$mot.'}{pardate}{inverse}{age<180}>';
?>
apparemment ça ne marche pas...
je commets une erreur ou Spip ne peut pas digérer ce genre de manip?
sylpub a écrit :
j'ai essayé ça:
<?
$mot=secondes;
echo '<BOUCLE_secondes(BREVES){titre_mot='.$mot.'}{pardate}{inverse}{age<180}>';
?>
apparemment ça ne marche pas...
je commets une erreur ou Spip ne peut pas digérer ce genre de manip?
Il est rigoureusement impossible que cela fonctionne de cette manière : les boucles de spip sont calculées avant le PHP (le boucles sont calculées dans le cache, le php par contre, s'exécute à chaque chargement de la page).
François
Hello,
Ce problème a déjà etait discuté souvent sur les forums spip.
en résumé, tu ne peux pas passer de variable php comme critère de
boucle de façon simple. Tout cela parce que le code php est executé
apres avoir interpreté les boucles.
voir http://www.spip.net/threadspip2015-388.html pour les méthodes
compliquées. et http://www.3studio.org/article.php3?id_article=232
pour une explication de la gestion du cache (qui pose le pbl).
il y a une méthode, lourde mais simple, pour faire ce que tu veux:
<BOUCLE_secondes(BREVES){pardate}{inverse}{age<180}>
<BOUCLE_mots(MOTS)>
<?php if("#TITRE" == "secondes") {
$select = true;
}?>
</BOUCLE_mots>
<?php
if($select) {
?>
blabla blablabla <a href="#URL_BREVE">#TITRE</a> blabla
<?php
$select = false;
}
?>
</BOUCLE_secondes>
(j'ai pas testé, mais je pense que tu vois le principe)
Pierre.