3cacahuetes Posted July 10, 2015 Share Posted July 10, 2015 Bonjour, Suite à la mise à jour vers prestashop 1.6.1, je fais un tour de ma boutique afin de vérifier que tout va bien avant la mise en prod, mais de temps en temps, des erreurs de JS non chargés surviennent, ce qui me pousse à aller voir le code généré. Et là, surprise, la fin du code source n'apparait pas : la dernière balise est : }); </script> Par contre quand je désactive le defer js, la fin du code est : [...] type='text/css'> </body></html> Avez-vous aussi rencontré ce genre de problème ? Savez-vous où je peux regarder ? J'ai désactivé tous les overrides mais le problème est toujours là ... Merci pour votre aide. Link to comment Share on other sites More sharing options...
coeos.pro Posted July 10, 2015 Share Posted July 10, 2015 (edited) Si tu veux avoir les balises fermantes va dans classes/controller/Controller.php, dans la fonction smartyOutputContent tu as: if ($defer) echo $html.$javascript; change le par: if ($defer) echo $html.$javascript.'</body></html>'; Si c'est ok pour toi, passe ensuite par un override. Edited July 10, 2015 by coeos.pro (see edit history) Link to comment Share on other sites More sharing options...
3cacahuetes Posted July 10, 2015 Author Share Posted July 10, 2015 Merci Fanatic, c'est bien ce que j'avais fait, mais c'est quand même étrange de devoir faire un override de smartyOutputContent pour avoir des balises </body></html> Je voulais savoir si d'autres personnes avaient aussi ce problème, si oui c'est un bug à corriger rapidement chez PS. Si non, alors il faut que je localise le problème, mais étant donné que je l'ai en désactivant tous les overrides ça semble venir du Core. Link to comment Share on other sites More sharing options...
3cacahuetes Posted July 10, 2015 Author Share Posted July 10, 2015 Lorsque l'on compare avant et après, on se rend assez vite compte du problème : Classe : /classes/controller/Controller.php Avant : echo ($defer ? $html.$javascript : preg_replace('/(?<!\$)'.$js_tag.'/', $javascript, $html)).$live_edit_content.((!isset($this->ajax) || ! $this->ajax) ? '</body></html>' : ''); Après : if ($defer) echo $html.$javascript; else echo preg_replace('/(?<!\$)'.$js_tag.'/', $javascript, $html).$live_edit_content.((!isset($this->ajax) || ! $this->ajax) ? '</body></html>' : ''); On se rend bien compte que dans le cas ou $defer est à true, toute la partie suivante n'est jamais ajoutée à la source : .$live_edit_content.((!isset($this->ajax) || ! $this->ajax) ? '</body></html>' : ''); Toutes les boutiques sous PS161 doivent donc être affectée. Si un membre de l'équipe de développement pouvait se manifester pour nous éclairer. Merci pour vos retours ! Link to comment Share on other sites More sharing options...
3cacahuetes Posted July 13, 2015 Author Share Posted July 13, 2015 Comment peut-on notifier l'équipe de développement ? J'ai posté un bug sur la forge mais rien, même pas quelqu'un pour dire qu'ils regardent le problème. http://forge.prestashop.com/browse/PSCSX-6199 C'est une erreur critique, même si le site s'affiche c'est une erreur de syntaxe importante ! 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