|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 77 ![]() |
Bonjour
J'ai un petit soucis avec un bout de code javacript/smarty. Voila mon code : Code :
Code :
Je comprend pas pourquoi il interprète pas mon code correctement... Je ne suis pourtant pas en {literal} Qu'est ce qui cloche ??? Merci mille fois pour votre aide ! Deb |
||||
|
|
00
|
|
|
#2 | ||
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
Smarty ne considere pas l'imbrication de {, et considere la fin du assign au premier }
Essayez sans les accolades, ou sans grandes conviction, un hack de cat : Code :
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
||
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 77 ![]() |
Bonjour,
Merci beaucoup pour votre réponse. Effectivement, je suis bête, j'était déjà en "mode smarty" donc j'avais pas besoin de remettre les accolades. Et j'ai remarqué aussi qu'il n'aimait pas trop l'imbrication des [] et des {}. Du coup, pour simplifier, j'ai mis mon $matching[m_product].productid dans une variable $pid et du coup, il y a plus de . et de trucs imbriqués, il préfère !!! Donc cela fonctionne maintenant. Merci encore pour votre aide. Deb |
|
|
00
|
|
|
#4 |
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
La concatenation aurait probablement fonctionnée ...
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 77 ![]() |
Bonjour,
J'ai encore un soucis et cette fois que crois bien qu'effectivement, je vais devoir recourir à la concaténation mais je sais pas comment faire. Dans mon onchange j'ai ca : Code :
onchange="form.m_availP.value = optionsArray{$aid}[{$colorIndex}][{$sizeIndex}];"
Par contre un alert('{$aid}'); fonctione !!! Comment faire la concaténation dans ce cadre la ? J'ai essayé : Code :
optionsArray|cat:$aid|cat:[|cat:$colorIndex|cat:][|cat:$colorIndex|cat:]); J'ai donc essayé ca : Code :
optionsArray"|cat:$aid|cat:"["|cat:$colorIndex|cat:"]["|cat:$colorIndex|cat:"]; Je suis un peu perdue avec ce javascript et ce smarty... Merci de votre aide Deb |
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 77 ![]() |
Ok, y'a vraiment des choses que je comprend pas !
alert({$aid}+{$colorIndex}); me donme 471, ce qui est OK ! maintenant alert(optionsArray+{$aid}+[+{$colorIndex}+][+{$colorIndex}+]); me donne la même chose que alert(optionsArray{$aid}[{$colorIndex}][{$colorIndex}]); C'est à dire ne traduit pas les {$...} : alert(optionsArray+this.options[this.selectedIndex].value+[+form.m_Color.selectedIndex-1+][+form.m_Color.selectedIndex-1+]); ou alert(optionsArraythis.options[this.selectedIndex].value[form.m_Color.selectedIndex-1][form.m_Color.selectedIndex-1]); Pourquoi ???? |
|
|
00
|
|
|
#7 |
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
value=foo`$bar.foo`bar
Il semble que cela fonctionne, en fait, on place le code a executer par smarty dans des backticks (`).
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|
|
00
|
|
|
#8 | ||
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 77 ![]() |
Bonjour,
Ca ne marche pas, enfin, ca fait exactement la même chose... Voila ce que j'ai écrit : Code :
Merci Deb |
||
|
|
00
|
|
|
#9 |
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
Oui mais ce n'est pas de cette facon que smarty permet d'assigner une valeur a une variable a ma connaissance, pourquoi ne pas utiliser {assign} ?
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|
|
00
|
|
|
#10 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 77 ![]() |
C pas une variable smarty, c'est une variable javscript en fait.
C'est justement ca qui doit bloquer.... La mixage de varaible javascript et smarty... Ca devient compliqué.... Une idée ? |
|
|
00
|
|
|
#11 |
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
Bien sur, les backticks ne fonctionnent qu'entre des balises smarty ...
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|
|
00
|
|
|
#12 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 77 ![]() |
Mais je peux pas faire autrement mon tableau c'est en javascript...
Faudrait que je crée un tableau smarty dans le template. C'est possible ca ? On fait comment ? Un truc du style {assign var=tab[1][2] value=form.selectedIndex.value} ? et après : form.monInput.value = {$tab[1][2]}; ? |
|
|
00
|
|
|
#13 |
|
Futur Membre du Club
![]() Inscription : avril 2004 Messages : 77 ![]() |
Re-bonjour,
J'ai résolu le problème en passant tout en javascript comme ca plsu de soucis d'interférence entre javascript et smarty. Au lieu d'assigner un variable smarty $aid, j'assigne un varibale javascript var aid et je concatene le tout et ca amrche.... Merci de votre aide is_null. A bientot |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com