Problème d'interprétation de balise à l'intérieur d'une boucle

Bonjour,

J’essaie d’utiliser le code ci-dessous pour créer des menus dynamiques qui s’adaptent à la structure du site.
Tout va bien sauf un détail:
dans la boucle « elementsmenu1 », la déclaration « $adresse=#PS ; » et la déclaration « $titre=#TITRE ; » ne passent pas (Parse error).
Si je remplace #PS et #TITRE par du texte, tout va bien.
Si je mets la même déclaration « $adresse=#PS ; » dans la boucle « menuexiste1 », elle marche.

Quelqu’un peut-il m’expliquer ? Est-ce que ça peut venir du nombre de boucles imbriquées ?
Pour info, tout le code ci-dessous est dans une fonction javascript, mais je ne pense pas que ça change quoi que ce soit…

Si quelqu’un a une idée !!!

Bertrand

Le code:

<BOUCLE_article1(ARTICLES){titre_mot=boutonprincipal}{annee_redac>9000}{par date_redac}> //les differents boutons

<BOUCLE_menuexiste1(ARTICLES){id_article}{titre_mot=menuexiste}> //si il y a un menu pour ce bouton

<? //initialisation du menu $numeromenu=[(#DATE_REDAC|annee)] ; echo 'window.fw_menu_'.$numeromenu.' = new Menu("root",111,17,"Verdana, Arial, Helvetica, sans-serif",10,"#ffff33","#ffffff","#000000","#666666");' ; ?>

<BOUCLE_elementsmenu1(ARTICLES){id_secteur}{titre_mot=menuprincipal}{annee_redac>9000}{par date_redac}> //les elements du menu de ce bouton (meme id_secteur)

<? $adresse=#PS ; ?>

<BOUCLE_rubrique1(RUBRIQUES){id_rubrique}>

<? $titre=#TITRE ; ?>

</BOUCLE_rubrique1>

<? echo 'fw_menu_'.$numeromenu.'.addMenuItem("'.$titre.'","location='.$adresse.'");' ; ?>

</BOUCLE_elementsmenu1>

<? //fin du menu echo 'fw_menu_'.$numeromenu.'.fontWeight="bold";' ; echo "\r" ; echo 'fw_menu_.'.$numeromenu.'.hideOnMouseOut=true;' ; ?>

</BOUCLE_menuexiste1>

</BOUCLE_article1>

<? //ecriture des menus echo 'fw_menu_'.$numeromenu.'.writeMenus();' ; ?>

N'oublie pas les apostrophes...
   $adresse="#PS";

A+
   François

----- Original Message -----
From: "Bertrand COLLIGNON" <bertrand.collignon1@free.fr>
To: "Spip" <spip@rezo.net>
Sent: Thursday, April 18, 2002 5:22 PM
Subject: [Spip] Problème d'interprétation de balise à l'intérieur d'une
boucle

Bonjour,

J'essaie d'utiliser le code ci-dessous pour créer des menus dynamiques qui
s'adaptent à la structure du site.
Tout va bien sauf un détail:
dans la boucle "elementsmenu1", la déclaration "$adresse=#PS ;" et la
déclaration "$titre=#TITRE ;" ne passent pas (Parse error).
Si je remplace #PS et #TITRE par du texte, tout va bien.
Si je mets la même déclaration "$adresse=#PS ;" dans la boucle
"menuexiste1", elle marche.

Quelqu'un peut-il m'expliquer ? Est-ce que ça peut venir du nombre de
boucles imbriquées ?
Pour info, tout le code ci-dessous est dans une fonction javascript, mais je
ne pense pas que ça change quoi que ce soit...

Si quelqu'un a une idée !!!

Bertrand

Le code:

<BOUCLE_article1(ARTICLES){titre_mot=boutonprincipal}{annee_redac>9000}{par
date_redac}> //les differents boutons

<BOUCLE_menuexiste1(ARTICLES){id_article}{titre_mot=menuexiste}> //si il y a
un menu pour ce bouton

<? //initialisation du menu
$numeromenu=[(#DATE_REDAC|annee)] ;
echo 'window.fw_menu_'.$numeromenu.' = new Menu("root",111,17,"Verdana,
Arial, Helvetica, sans-serif",10,"#ffff33","#ffffff","#000000","#666666");'
;
?>

<BOUCLE_elementsmenu1(ARTICLES){id_secteur}{titre_mot=menuprincipal}{annee_r
edac>9000}{par date_redac}> //les elements du menu de ce bouton (meme
id_secteur)

<?
$adresse=#PS ;
?>

<BOUCLE_rubrique1(RUBRIQUES){id_rubrique}>
<?
$titre=#TITRE ;
?>
</BOUCLE_rubrique1>

<?
echo
'fw_menu_'.$numeromenu.'.addMenuItem("'.$titre.'","location='.$adresse.'");'
;
?>

</BOUCLE_elementsmenu1>

<? //fin du menu
echo 'fw_menu_'.$numeromenu.'.fontWeight="bold";' ;
echo "\r" ;
echo 'fw_menu_.'.$numeromenu.'.hideOnMouseOut=true;' ;
?>

</BOUCLE_menuexiste1>

</BOUCLE_article1>

<? //ecriture des menus
echo 'fw_menu_'.$numeromenu.'.writeMenus();' ;
?>

@ François G-Hamonno <fhamonno@club-internet.fr> :

N'oublie pas les apostrophes...
   $adresse="#PS";

... et la sécurité

$adresse = "[(#PS|chainephp)]"; // dans la version de developpement
$adresse = "[(#PS|addslashes)]"; // dans la version distribuée 1.3.2

-- Fil

"Et la sécurité" ??? que veux-tu dire par là ?

En tout cas, ça marche. Merci à tous les deux !!!

Bertrand
----- Original Message -----
From: "Fil" <fil@rezo.net>
To: "spip-forum" <spip@rezo.net>
Sent: Thursday, April 18, 2002 10:55 PM
Subject: Re: [Spip] Problème d'interprétation de balise à l'intérieur d'une
boucle

@ François G-Hamonno <fhamonno@club-internet.fr> :
> N'oublie pas les apostrophes...
> $adresse="#PS";

... et la sécurité

$adresse = "[(#PS|chainephp)]"; // dans la version de developpement
$adresse = "[(#PS|addslashes)]"; // dans la version distribuée 1.3.2

-- Fil

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
http://listes.rezo.net/mailman/listinfo/spip

@ Bertrand COLLIGNON <bertrand.collignon1@free.fr> :

"Et la sécurité" ??? que veux-tu dire par là ?

La ligne
$adresse = '[(#PS|chainephp)]';

fonctionnera quel que soit le contenu du champ "PS". Alors que toute autre
combinaison risque de planter (erreur php) si "PS" contient des apostrophes,
des guillemets, des dollars, etc.

-- Fil