rom1 Posted July 24, 2015 Share Posted July 24, 2015 Bonjour, sous prestashop 1.6.0.6 je rencontre un problème curieux : l'éditeur d'une page CMS est wysiwyg si je suis connecté en tant qu'administrateur, mais pas en tant qu'employé (compte du marchand). Tinymce ne se greffe pas sur le textarea. En regardant de plus près, autre mystère : le chargement des JS ne se fait pas dans le même ordre selon le compte ! Cela provoque des erreurs sous le compte marchand et aucune en admin. En forçant dans header.tpl à charger les JS comme en admin, cela ne change rien. Je soupçonne donc un souci au niveau du modèle ou des droits différents pour les deux mais je n'arrive pas à situer où cela a lieu. J'ai remis à jour bloc_CMS et même réinstallé le module (en perdant la traduction au passage …) sans effet. Une idée pour corriger cette erreur sans mettre à jour la boutique ? PS : les erreurs JS résiduelles sur côté marchand TypeError: e.widget is not a function $.widget("ui.tagify", { jquery.....min.js (ligne 4, col. 21) TypeError: t.ui is undefined jquery.....min.js (ligne 4 TypeError: $.widget is not a function $.widget("ui.tagify", { jquery.tagify.js (ligne 5) TypeError: $(...).tagify is not a function ...('#'+input_id).tagify({delimiters: [13,44], addTagPrompt: 'Ajouter un mot-clé'}) index.p...78ae03e (ligne 818) Merci. Link to comment Share on other sites More sharing options...
rom1 Posted July 27, 2015 Author Share Posted July 27, 2015 J'ai pu identifier la source de cette erreur et d'une autre qui empêchait l'ajout d'une image aux produits puis lors de la suppression, le retrait de la ligne contenant l'image de la fiche produit dans l'admin. Les raisons sont les suivantes : avec un autre employé que l'admin, l'ordre des JS est perturbé. Dans tous les cas JQuery n'est pas chargé en premier. Il faut commenter la ligne addJquery() de AdminController.php et ajouter à la main JQuery dans le header.tpl de l'admin, thickbox s'attend à une version plus ancienne de JQuery et $.browser() est inconnu. Le problème se contourne en ajoutant jquery-migrate dans header.tpl après JQuery, s'il y a des erreurs avec d'autres JS qui utilisent JQuery sous la forme (function … ).(JQuery), corriger en déplaçant JQuery, donc sous la forme JQuery.(function …) ; cette écriture vient aussi du fait que $ est désactivé pour éviter des soucis de compatibilité, en ajoutant 'content' à la ligne foreach (array('errors', 'warnings', 'informations', 'confirmations') as $type) du contrôleur AdminController.php on corrige certaines erreurs de retour en ajax qui attendent un contenu ; par exemple lors de la suppression d'une image pour retirer la ligne de la fiche produit. Apparemment ces erreurs peuvent toujours se produire avec la version 1.6.0.14 de prestashop puisque les versions de JQuery et de thickBox utilisées sont les mêmes (diff ne retourne aucune différence) : c'est très surprenant qu'il n'y ait pas eu de rapport de bug ni de correction. 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