pat2607 Posted March 8, 2017 Share Posted March 8, 2017 Bonjour à tous, Voici le contexte : Mon site utilise le la confirmation de l'ajout d'un produit au panier via l'ajax-cart. Dans cette "popup" je dois afficher une variable produit (le contenu du champ code EAN13) Dans un fichier tpl, je n'ai pas de problème, j'affiche cette variable comme ceci : {$product.ean13} Comment puis-je appeler cette variable dans un fichier .js (le fichier "montheme/js/modules/blockcart/ajax-cart.js" J'ai essayé + product.ean13 + , mais le résultat de l'affichage est "undifined" Voici le code : $('.layer_cart_img').html('<img class="layer_cart_img img-responsive" src="' + base_url + '/img/cms/illustrations_articles/' + product.ean13 + '.jpg" alt="' + product.name + '" title="' + product.name + '" />'); merci pour votre aide Link to comment Share on other sites More sharing options...
Alexandre Carette Posted March 9, 2017 Share Posted March 9, 2017 (edited) Salut, Une idée à tester... Dans ton tpl {addJsDefL name=productean13}{$product.ean13 js=1}{/addJsDefL} Dans ton js $('.layer_cart_img').html('<img class="layer_cart_img img-responsive" src="' + base_url + '/img/cms/illustrations_articles/' + productean13 + '.jpg" alt="' + product.name + '" title="' + product.name + '" />'); Edited March 9, 2017 by Alexandre SDW CREW (see edit history) Link to comment Share on other sites More sharing options...
pat2607 Posted March 9, 2017 Author Share Posted March 9, 2017 Merci beaucoup pour ton aide et ta suggestion. Je viens de tester et lorsque je fais la modif dans le JS, la popup ne s'affiche plus et quand je fais la modif dans le TPL en plus, j'ai une page blanche, plus du site :-( une idée? Link to comment Share on other sites More sharing options...
Alexandre Carette Posted March 9, 2017 Share Posted March 9, 2017 (edited) {addJsDefL name=productean13}{$product->ean13 js=1}{/addJsDefL} essaye ca voir Edited March 9, 2017 by Alexandre Carette (see edit history) Link to comment Share on other sites More sharing options...
pat2607 Posted March 9, 2017 Author Share Posted March 9, 2017 pareil, j'ai le même soucis de page blanche. Pour être sur, le TPL a modifier est bien celui-ci : "montheme/modules/blockcart/blockcart.tpl" et mon js : "montheme/js/modules/blockcart/ajax-cart.js" Link to comment Share on other sites More sharing options...
Alexandre Carette Posted March 9, 2017 Share Posted March 9, 2017 active le mode debug quand tu as une page blanche Link to comment Share on other sites More sharing options...
Alexandre Carette Posted March 9, 2017 Share Posted March 9, 2017 {strip} {addJsDef productean13=$product.ean13} {/strip} essaye un truc comme ca Link to comment Share on other sites More sharing options...
Alexandre Carette Posted March 9, 2017 Share Posted March 9, 2017 le probleme egalement est que ton ean13 est dans un foreach donc forcement ca ne va pas marcher Link to comment Share on other sites More sharing options...
BeComWeb Posted March 9, 2017 Share Posted March 9, 2017 Bonjour à tous, Voici le contexte : Mon site utilise le la confirmation de l'ajout d'un produit au panier via l'ajax-cart. Dans cette "popup" je dois afficher une variable produit (le contenu du champ code EAN13) Dans un fichier tpl, je n'ai pas de problème, j'affiche cette variable comme ceci : {$product.ean13} Comment puis-je appeler cette variable dans un fichier .js (le fichier "montheme/js/modules/blockcart/ajax-cart.js" J'ai essayé + product.ean13 + , mais le résultat de l'affichage est "undifined" Voici le code : $('.layer_cart_img').html('<img class="layer_cart_img img-responsive" src="' + base_url + '/img/cms/illustrations_articles/' + product.ean13 + '.jpg" alt="' + product.name + '" title="' + product.name + '" />'); merci pour votre aide Un truc que je ne comprends pas c'est que tu parles d'EAN13 à afficher dans le panier mais le bout de code semble vouloir dire que tu veux afficher des images qui seraient stockées dans le répertoire qui contient habituellement les images de pages CMS ET qui seraient nommées selon le code barre du produit. Tu peux préciser ce que tu veux faire ? Link to comment Share on other sites More sharing options...
pat2607 Posted March 9, 2017 Author Share Posted March 9, 2017 Un truc que je ne comprends pas c'est que tu parles d'EAN13 à afficher dans le panier mais le bout de code semble vouloir dire que tu veux afficher des images qui seraient stockées dans le répertoire qui contient habituellement les images de pages CMS ET qui seraient nommées selon le code barre du produit. Tu peux préciser ce que tu veux faire ? En fait, pour la gestion des images des articles, mon client les gères via FTP. Quand il ajoute un nouvel articles, il lui suffit d'uploader la nouvelle image à un endroit bien précis en la nommant "codeEAN13.jpg". Cela fonctionne très bien partout, sauf ici. (JS) Link to comment Share on other sites More sharing options...
pat2607 Posted March 9, 2017 Author Share Posted March 9, 2017 active le mode debug quand tu as une page blanche Voici l'erreur que j'ai : Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "/home/leszarsotv/www/themes/theme1016/modules/blockcart/blockcart.tpl" on line 332 "{addJsDefL name=productean13}{$product->ean13 js=1}{/addJsDefL}" unexpected "js" attribute <-- thrown in /home/leszarsotv/www/tools/smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 332 Link to comment Share on other sites More sharing options...
pat2607 Posted March 9, 2017 Author Share Posted March 9, 2017 (edited) {strip} {addJsDef productean13=$product.ean13} {/strip} essaye un truc comme ca J'ai été trop vite pour dire que ça marchait. Effectivement je récupère bien le code EAN13 maintenant, par contre il y a un décalage. J'ajoute le produit A au panier. Ensuite j'ajoute le produit B au panier, j'ai le code EAN du produit A qui s'affiche. J'ajoute le produit C au panier, j'ai le le code EAN du produit B qui s'affiche et ainsi de suite Edited March 9, 2017 by pat2607 (see edit history) Link to comment Share on other sites More sharing options...
Alexandre Carette Posted March 9, 2017 Share Posted March 9, 2017 (edited) oui car en fait le product.ean13 est obtenu dans une boucle, il faudrait donc ajouter un id au product.ean13 et dans ton js car sinon ca écrase a chaque fois donc il faut que le js recupere la valeur dans une div qui a un id (id product par exemple) dans la boucle foreach du tpl: <input type="hidden" id="ean13_{$product.id}" value="{$product.ean13}"> Edited March 9, 2017 by Alexandre Carette (see edit history) Link to comment Share on other sites More sharing options...
pat2607 Posted March 10, 2017 Author Share Posted March 10, 2017 oui car en fait le product.ean13 est obtenu dans une boucle, il faudrait donc ajouter un id au product.ean13 et dans ton js car sinon ca écrase a chaque fois donc il faut que le js recupere la valeur dans une div qui a un id (id product par exemple) dans la boucle foreach du tpl: <input type="hidden" id="ean13_{$product.id}" value="{$product.ean13}"> Là je dois avouer que je suis un peu perdu :-( J'ai plusieurs boucle foreach dans mon tpl et ou que je le mette, je n'ai rien Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now