soussou63 Posted March 24, 2011 Share Posted March 24, 2011 Bonjour,J'utilise prestashop 1.3.7, j'ai developpé un theme propre a ma société.Dans ce theme, la partie product-list est adaptée pour prendre afficher et alerter sur le conditionnement des produits.J'ai donc modifié le lien d'ajout au panier en formulaire pour pouvoir y rajouter la quantité de produits à commander.Mon but est de rajouter un script JS qui effectue une validation en affichant une alerte si le produit n'est pas vendu a l'unité.Mon product-list.tpl ressemble a ceci : > <!-- Historique --> {literal} [removed] //<![CDATA[ function controle_conditionnement(val) { if(val > 1) { alert("Vous achetez un conditionnement de "+val+" articles."); } } //]]> [removed] {/literal} {if isset($products)} <!-- Products list --> </pre> <ul> {foreach from=$products item=product name=products} ... <!-- add to cart form--> <form id="buy_block" action="{$base_dir}cart.php" method="post"> ... Donc le formulaire fonctionne, l'alerte si l'article n'est pas vendu a l'unité aussi MAIS en début de ma liste de produit j'ai {literal} qui apparait.Quelqu'un a une idée ? Link to comment Share on other sites More sharing options...
coeos.pro Posted March 24, 2011 Share Posted March 24, 2011 Bojour, il y a peut être un autre {literal} quelque part, sinon essayez avec: <!-- Historique --> [removed] //<![CDATA[ function controle_conditionnement(val) {ldelim} if(val > 1) {ldelim} alert("Vous achetez un conditionnement de "+val+" articles."); {rdelim} {rdelim} //]]> [removed] {if isset($products)} Link to comment Share on other sites More sharing options...
soussou63 Posted March 24, 2011 Author Share Posted March 24, 2011 Merci pour ta réponse.J'ai déja essayé, sans le {literal} {/literal} le code JS bloque l'affichage de la page, j'ai une page blanche des l'appel du product-list.tplAvec literal ma page s'affiche correctement, mon javascript fonctionne mais {literal} s'affiche sur le rendu du site.Serait il possible qu'un module mal codé utilisant la balise ouvrante {literal} sans la fermante produise se genre de phénomène ?Les balises {literal} étant normalement interpretées par Smarty, elles n'apparaissent que dans le tpl, et probablement pas dans le cache smarty non ? comment voir si un literal précède le mien ? Link to comment Share on other sites More sharing options...
soussou63 Posted March 24, 2011 Author Share Posted March 24, 2011 désolé pour le post rapide j'avais pas vu rdelim et le ldelim, j'essaie ca demain. Link to comment Share on other sites More sharing options...
coeos.pro Posted March 24, 2011 Share Posted March 24, 2011 Sinon rajoute un {/literal} au début de ton code pour voir si oui ou non il y a un {literal} qui traine avant Link to comment Share on other sites More sharing options...
soussou63 Posted March 25, 2011 Author Share Posted March 25, 2011 Les nouvelles :En effet, {ldelim} et {rdelim} pour remplacer les caractères "{}" permet d'éviter d'utiliser {literal}{/literal}.Cependant mon problème n'est pas la.Même avec un autre code des que dans mon tpl j'ai {literal}{/literal} le premier {literal} est affiché dans le fichier compilé par smarty.Si je procede comme suis : {/literal} {literal} [removed] function controle_conditionnement(val) { if(val > 1) { alert("Vous achetez un conditionnement de "+val+" articles."); } } [removed] {/literal} {if isset($products)} <!-- Products list --> Plus aucun problème, il semble donc que j'aie dans l'ordre de compilation smarty un module ou composant ps qui n'a pas sa balise {/literal}Quelqu'un aurait une idée qui permettrait de retracer d'où ca peut venir ?(je suppose que dans le fichier compilé par smarty le {literal} seul n'apparaitra pas). Link to comment Share on other sites More sharing options...
soussou63 Posted March 31, 2011 Author Share Posted March 31, 2011 une idée pour trouver une balise smarty manquante dans la source ? Link to comment Share on other sites More sharing options...
coeos.pro Posted March 31, 2011 Share Posted March 31, 2011 Suffit de regarder l'intégralité des fichiers tpl précédant l'affichage de votre module, il y a un {literal} ouvert et non fermé, certainement un module que vous avez fais/modifié ou un module trouvé sur un forum. 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