Jovicyr Posted May 31, 2011 Share Posted May 31, 2011 Bonjour,Je souhaite ajouter un petit script permettant de sélectionner une date dans un calendrier javascript.J'ai récupéré un code qui fonctionne bien sur un autre site qui n'est pas en Prestashop, mais à l'ajout sur mon site en PS 1.4.017, j'ai une erreur de compilation de Smarty : Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template "/home/sandbox/public_html/modules/attributewizardpro/attributewizardpro.tpl" on line 14 "$('#demande_information-date_debut').datepicker({'dateFormat':'dd\/mm\/yy'});" - Unexpected ":", expected one of: "}" , " "' in /home/sandbox/public_html/tools/smarty/sysplugins/smarty_internal_templatecompilerbase.php:431 Stack trace: #0 Le code Javascript en question est le suivant :[removed] //<![CDATA[ $(document).ready(function() { $("#demande_information-date_debut").datepicker({"required":true,"dateFormat":"dd\/mm\/yy"}); }); //]]> [removed] Il semble ne pas apprécier les "2 points" ( entre"required" et trueet entre"dateFormat" et "dd\/mm\/yy"T'a-t-il un autre moyen d'écrire ces éléments afin que Smarty exécute correctement sa compilation ?Merci pour votre réponse, Link to comment Share on other sites More sharing options...
Jacques Biais Posted May 31, 2011 Share Posted May 31, 2011 Essais de mettre ton code entre des balises {literal}{/literal}cordialement Link to comment Share on other sites More sharing options...
Jovicyr Posted June 1, 2011 Author Share Posted June 1, 2011 Merci, ça fonctionne bien avec cette astuce. Link to comment Share on other sites More sharing options...
Broceliande Posted June 1, 2011 Share Posted June 1, 2011 Dans smarty 3 (presta 1.4) , {literal} est dépréciée. (toujours fonctionnelle cela dit)Il suffit d'encadrer ton code literal par des accolades , en prenant soin de faire suivre l'accolade ouvrante d'un espace, et de précéder celle fermante d'un espace : { MonCodeJavascript } Link to comment Share on other sites More sharing options...
Jacques Biais Posted June 1, 2011 Share Posted June 1, 2011 @broceliandeJ'avais lu quelque part qu'avec la 1.4 ce n'était plus obligatoire, mais j'avais dû mal lire...!Aussi, comme cela ne fonctionnait pas, je continuais avec l'ancienne méthode.Donc, merci pour cette info! Il faut maintenant que je m'en souvienne... Link to comment Share on other sites More sharing options...
Broceliande Posted June 1, 2011 Share Posted June 1, 2011 Oui je pense que ce que tu as lu est justement ce que je viens de décrire.Si tu l'as lu en anglais dans le texte comme décris sur le site smarty , la confusion peut venir de là. En cas d'oubli , tu as toujours l'ancienne méthode qui fonctionne.... pour l'instant .... Link to comment Share on other sites More sharing options...
Jovicyr Posted June 1, 2011 Author Share Posted June 1, 2011 Merci pour cette info, mais ça ne fonctionne pas avec juste une accolade.Où les placer ?J'ai mis juste avant le code JS : { $(document).ready(function() { et en fin : }); } mais j'ai l'erreur de compilation. Link to comment Share on other sites More sharing options...
Broceliande Posted June 1, 2011 Share Posted June 1, 2011 Oui exact , mais logique, je me suis mal exprimé : { moncode } ne s'applique pas à l'ensemble de ton bloc code javascript , mais aux seules accolades nécessaires dans le code js lui même : function toto() { moncode; } et non { function toto(){moncode;} } Le texte exact décrivant l ' évolution est : With Smarty 3, the braces will be ignored so long as they are surrounded by white space. En bon français : Dans smarty 3 , les accolades seront ignorées si elles sont entourées par un espace. Link to comment Share on other sites More sharing options...
Jovicyr Posted June 1, 2011 Author Share Posted June 1, 2011 ok, je comprends mieux ;-)Finalement dans mon code initial, je n'ai aucun élément à rajouter, juste mettre des espaces après chaque accolade ouvrante et avant chaque fermante. Et là, je n'ai plus l'erreur de compilation.Merci pour cette issue heureuse, 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