Categories > TinyButStrong general (FR) >

Boucle imbriquées et instructions Javascript

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: Sylvio
Date: 2005-05-06
Time: 16:11

Boucle imbriquées et instructions Javascript

Bonjour,

je souhaite utiliser plusieurs instructions javascript dans une boucle a l'aide de TBS. Le problème c'est que je doit les séparer par des ";", qui est un caractère spécial dans TBS. Y a-t-il une solution??


Voici mon code :
[blk_sous_menu;block=td;]
[var._tpl.url_rubrique;if [blk_sous_menu.lien_rub]=[val];then '[blk_sous_menu.nom_rub]';else [blk_sous_menu.ouverture_rub;if [val]=1;then '<a href="[blk_sous_menu.lien_rub]" class="sous_menu_haut" target="_blank" onClick="popup('[blk_sous_menu.lien_rub]','[blk_sous_menu.abreg_rub]', [blk_sous_menu.width_rub], [blk_sous_menu.height_rub], 0, 0, 'scrollbars=yes,resizable=yes, toolbar=no,directories=0, location=no,status=no'); return false;">[blk_sous_menu.nom_rub]</a>';else '<a href="[blk_sous_menu.lien_rub]" class="sous_menu_haut">[blk_sous_menu.nom_rub]</a>']

Merci d'avance
By: Skrol29
Date: 2005-05-06
Time: 16:33

Re: Boucle imbriquées et instructions Javascript

Salut Sylvio,

Le point-virgule (;) est un caractère spécial pour les champs TBS, mais il est ignoré dans les valeur de paramètre encadrées par des quotes (').
Exemple :
   [var.test;if [val]=';';then 'point-virgule']

Mais j'ai remarqué que ta définition de champ, tu n'as pas protégé les quotes (') à l'intérieur des chaînes en les doublant, ce qui fait que ta chaîne texte est rompue avant.
Par exemple, tu as écris :
then '<a ... onClick="popup(...,'scrollbars=yes,...'); return false;">...</a>'
Alors que tu aurais dû écrire :
then '<a ... onClick="popup(...,''scrollbars=yes,...''); return false;">...</a>'


By: Sylvio
Date: 2005-05-06
Time: 18:43

Re: Boucle imbriquées et instructions Javascript

Ok je vais essayer
By: Sylvio
Date: 2005-05-06
Time: 19:12

Re: Boucle imbriquées et instructions Javascript

Ok pour les quotes, mais ca me coupe quand meme ma chaine au niveau des ';'

[blk_sous_menu.ouverture_rub;if [val]=1;then '<a href="[blk_sous_menu.lien_rub]" class="sous_menu_haut" target="_blank" onClick="popup(''[blk_sous_menu.lien_rub]'',''[blk_sous_menu.abreg_rub]'', [blk_sous_menu.width_rub], [blk_sous_menu.height_rub], 0, 0, ''scrollbars=yes,resizable=yes, toolbar=no,directories=0, location=no,status=no''); return false">[blk_sous_menu.nom_rub;htmlconv=no]</a>';else '...']

j'obtiens le code suivant :

<a href="reallon-hiver-ski_alpin.html" class="sous_menu_haut" target="_blank" onClick="popup('reallon-hiver-ski_alpin.html','ski_alpin', 400, 300, 0, 0, 'scrollbars=yes,resizable=yes, toolbar=no,directories=0, location=no,status=no')

Merci d'avoir répondu si rapidement!!
By: Skrol29
Date: 2005-05-07
Time: 21:19

Re: Boucle imbriquées et instructions Javascript

J'ai fait le test avec TBS (2.02.2), (2.01) et (2.00) et ça marche impec pour moi. J'ai copié ton morceau de modèle à l'identique.
Tu as bien la dernière version de la 2.02 ?

A oui, il faut aussi que tes champs "abreg_rub" et "lien_rub" ne contiennent pas de (') mais je pense que c'est le cas.
By: Sylvio
Date: 2005-05-11
Time: 09:23

Re: Boucle imbriquées et instructions Javascript

Oui j'ai bien la derniere version de TBS, les champs "abreg_rub" et "lien_rub" ne contiennent pas de (').
En fait ca coupe toujours la chaine au premier ';' qui se trouve dans le champ onClick.