smartsco Posted May 16, 2015 Share Posted May 16, 2015 (edited) Bonjour, Je bosse actuellement sur le nouveau site de mon magasin, je n'ai rien modifié dans le ftp mise a part le fichier product.tpl mais j'ai remis le fichier d'origine apres l'apparition de l'erreur n'en comprenant pas la source. Alors voila le soucis. Les modules fournis avec le thème viennent tout juste d'avoir une erreur, leur nom a tout simplement disparu ainsi que pas mal de réglages dans ces modules. Voici 2 screens montrant le soucis. Ce soucis a aussi fait disparaître les boutons de connexion, contact, mon compte, liste de souhaits en haut a droite de la page.. Je suis perdu.. Merci d'avance Edited May 17, 2015 by smartsco (see edit history) Link to comment Share on other sites More sharing options...
Zythom Posted May 16, 2015 Share Posted May 16, 2015 +1 moi ça me le fait avec tout les modules non presta et quelques modules de stat Link to comment Share on other sites More sharing options...
Eolia Posted May 16, 2015 Share Posted May 16, 2015 Intéressant... vous êtes sous quelle version presta ? Link to comment Share on other sites More sharing options...
smartsco Posted May 16, 2015 Author Share Posted May 16, 2015 1.6.0.11 pour ma part :/ Link to comment Share on other sites More sharing options...
Zythom Posted May 16, 2015 Share Posted May 16, 2015 Pareil pour moi, et il me semble l'avoir constaté après avoir fait l'upgrade 1.6.0.9->1.6.0.11 Link to comment Share on other sites More sharing options...
Eolia Posted May 16, 2015 Share Posted May 16, 2015 Hum, je ne constate pas le problème sur une 1.6.0.11 Supprimez tous les fichiers config.xml et config_fr.xml de chaque répertoire module Effacez les fichiers /config/default_country_modules_list.xml, modules_list.xml, modules_native_addons.xml, must_have_modules_list.xml et trusted_modules_list.xml et rafraichissez la page Modules de votre BO Prestashop devrait recréer tout ça correctement^^ Link to comment Share on other sites More sharing options...
smartsco Posted May 16, 2015 Author Share Posted May 16, 2015 (edited) Je test ça tout de suite Edit: Ca ne fonctionne pas :/ Edited May 16, 2015 by smartsco (see edit history) Link to comment Share on other sites More sharing options...
Zythom Posted May 16, 2015 Share Posted May 16, 2015 Pareil, pas de changements pour moi non plus... Link to comment Share on other sites More sharing options...
Eolia Posted May 16, 2015 Share Posted May 16, 2015 Mince alors Lorsque vous ouvrez un des fichiers xml dans les modules, le nom y apparait bien ? Link to comment Share on other sites More sharing options...
Zythom Posted May 16, 2015 Share Posted May 16, 2015 Pour ma part oui. J'ai même dupliqué le module "cmsinfo" en changeant son nom, et il fait partie de ceux dont le nom n'apparait plus Comme je l'ai dit plus haut, il s'agit presque exclusivement des modules non natifs ou non addon... Link to comment Share on other sites More sharing options...
Eolia Posted May 16, 2015 Share Posted May 16, 2015 ça sent le bug de la classe Module... L'activation de l'affichage des erreurs (dans config/defines.inc.php ) ne montre rien ? Link to comment Share on other sites More sharing options...
Zythom Posted May 16, 2015 Share Posted May 16, 2015 Rien avec le mode dev à true Link to comment Share on other sites More sharing options...
Eolia Posted May 16, 2015 Share Posted May 16, 2015 ok Il faudrait comparer la classe Module actuelle avec la précédente et voir ce qui a changé Link to comment Share on other sites More sharing options...
Zythom Posted May 16, 2015 Share Posted May 16, 2015 Ok je ferais ça après le week-end, et on verra bien Link to comment Share on other sites More sharing options...
smartsco Posted May 16, 2015 Author Share Posted May 16, 2015 Idem pour moi le nom y est.. ?xml version="1.0" encoding="UTF-8" ?> <module> <name>wg24blocknewproducts</name> <displayName><![CDATA[]]></displayName> <version><![CDATA[1.1.0]]></version> <description><![CDATA[]]></description> <author><![CDATA[24WebGroup]]></author> <tab><![CDATA[front_office_features]]></tab> <confirmUninstall><![CDATA[]]></confirmUninstall> <is_configurable>1</is_configurable> <need_instance>0</need_instance> <limited_countries></limited_countries> </module> J'ai contacté le dev de ces modules car le soucis n'affecte que les siens. Link to comment Share on other sites More sharing options...
erouvier29 Posted May 16, 2015 Share Posted May 16, 2015 C'est comme si les modules en question ne définissaient pas $this->displayName dans leurs constructeurs (cf. le tag correspondant, vide). Peut-être cette contrainte est-elle apparue récemment dans PS, et les modules ne seraient pas totalement conformes. Est-ce le cas? (vérifiez dans le fichier php principal des modules) Sinon, un bug de la classe Module, mais à ce niveau là, ça se verrait ailleurs quand même, non?.. Link to comment Share on other sites More sharing options...
Eolia Posted May 16, 2015 Share Posted May 16, 2015 exact, ni displayName ni description Le problème vient donc lors de la génération du xml par la classe. Cette classe lit la classe principale et récupère les infos. A vérifier si ces modules tiers ont bien dans la fonction __construct() : .... $this->displayName = $this->l('Nom du module'); $this->description = $this->l('Adds this module to have a wonderful site'); Link to comment Share on other sites More sharing options...
erouvier29 Posted May 16, 2015 Share Posted May 16, 2015 +1 pour la description du module Link to comment Share on other sites More sharing options...
Zythom Posted May 17, 2015 Share Posted May 17, 2015 En prenant un module au hasard (dont le nom ne s'affiche pas), j'ai bien les deux lignes citées par Eolia. Donc ça ne vient toujours pas de là... Link to comment Share on other sites More sharing options...
Eolia Posted May 17, 2015 Share Posted May 17, 2015 Pouvez-vous vérifier si cette fonction est bien identique à celle-ci dans Module.php ? protected function _generateConfigXml() { $author_uri = ''; if (isset($this->author_uri) && $this->author_uri) $author_uri = '<author_uri><![CDATA['.Tools::htmlentitiesUTF8($this->author_uri).']]></author_uri>'; $xml = '<?xml version="1.0" encoding="UTF-8" ?> <module> <name>'.$this->name.'</name> <displayName><![CDATA['.Tools::htmlentitiesUTF8($this->displayName).']]></displayName> <version><![CDATA['.$this->version.']]></version> <description><![CDATA['.Tools::htmlentitiesUTF8($this->description).']]></description> <author><![CDATA['.Tools::htmlentitiesUTF8($this->author).']]></author>' .$author_uri.' <tab><![CDATA['.Tools::htmlentitiesUTF8($this->tab).']]></tab>'.(isset($this->confirmUninstall) ? "\n\t".'<confirmUninstall><![CDATA['.$this->confirmUninstall.']]></confirmUninstall>' : '').' <is_configurable>'.(isset($this->is_configurable) ? (int)$this->is_configurable : 0).'</is_configurable> <need_instance>'.(int)$this->need_instance.'</need_instance>'.(isset($this->limited_countries) ? "\n\t".'<limited_countries>'.(count($this->limited_countries) == 1 ? $this->limited_countries[0] : '').'</limited_countries>' : '').' </module>'; if (is_writable(_PS_MODULE_DIR_.$this->name.'/')) { $iso = substr(Context::getContext()->language->iso_code, 0, 2); $file = _PS_MODULE_DIR_.$this->name.'/'.($iso == 'en' ? 'config.xml' : 'config_'.$iso.'.xml'); if (!@file_put_contents($file, $xml)) if (!is_writable($file)) { @unlink($file); @file_put_contents($file, $xml); } @chmod($file, 0664); } } Link to comment Share on other sites More sharing options...
erouvier29 Posted May 17, 2015 Share Posted May 17, 2015 (edited) Peut-être aussi la fonction htmlentities() appelée par Tools::htmlentitiesUTF8() n'aimerait-elle pas les chaînes fournies et retournerait alors une chaîne vide??? Que définissent les modules comme $displayName et $description? EDIT Si les définitions sont du type $this->l('...'), vérifiez que les traductions des modules sont complètes Edited May 17, 2015 by erouvier29 (see edit history) Link to comment Share on other sites More sharing options...
erouvier29 Posted May 17, 2015 Share Posted May 17, 2015 J'ai réussi à reproduire un cas d'erreur, tordu, qui expliquerait à la fois la disparition du nom affiché dans la liste des modules, et également la disparition des labels dans les pages de config: les traductions contiennent des caractères accentués et le fichier de traduction du module n'est pas encodé en UTF-8. Ceci n'aurait pas dû pas arriver si vous avez vous-mêmes traduit le module depuis le BO, mais il se peut que le module soit livré avec sa traduction dans un encodage différent. Vous pouvez vérifier cela en ouvrant l'outil de traduction du BO. Si l'encodage n'est pas celui attendu, vous allez normalement voir apparaître des hiéroglyphes dans les traductions. Une solution serait de corriger les traductions en retapant les bons caractères accentués, et de sauvegarder. Fastidieux, sans doute... Donc demandez plutôt au développeur du module de fournir les fichiers de traduction correctement encodés. Ce que je ne comprends pas, c'est que vous semblez tous deux dire que tout allait bien avant l'upgrade de PS. Avez-vous changé de serveur, d'OS, et/ou de version PHP à cette occasion? Link to comment Share on other sites More sharing options...
smartsco Posted May 17, 2015 Author Share Posted May 17, 2015 (edited) Bonjour, Les modules en question 24WebGroup ne sont pas traduit (pourtant avant ils fonctionnaient tres bien..) cela peut il venir de là? De plus mon Prestashop était déjà dans cette version avant les soucis et je n'ai rien changé. C'est ce qui a motivé mon post ici car je ne voyais pas de solutions Edit: Après avoir juste Copier/coller le nom anglais dans le champs français certains modules sont revenus a la normal. Je dois supprimer tout les fichiers config de ces modules et les fichiers XML correspondant dans config afin de mettre à jour l'affichage de mes modules c'est bien ça? Super les noms sont réapparu ! et dans le front office IDEM ! Merci énormement je vais faire une réponse en dessous pour expliquer la solution Edited May 17, 2015 by smartsco (see edit history) Link to comment Share on other sites More sharing options...
smartsco Posted May 17, 2015 Author Share Posted May 17, 2015 Voilà problème résolut ! Le soucis venait donc des traductions des modules qui avaient disparu ! La marche à suivre pour régler mon soucis a été donc: 1) refaire les traductions des modules ayant ce soucis 2) supprimer les fichiers config.xml et config_fr.xml de ces modules 3) supprimer les fichiers .xml liés aux modules dans le dossier config (je ne sais pas si cette étape est obligatoire mais j'ai préféré la faire ! Tout est Ok merci à tous pour votre aide Link to comment Share on other sites More sharing options...
Eolia Posted May 17, 2015 Share Posted May 17, 2015 En fait la 1.6.0.11 est buggée au niveau des traductions Si jamais UN champ n'est pas traduit dans votre langue, il est remplacé par un champ vide (au lieu de prendre la valeur en anglais) Ce bug a été corrigé depuis. J'aurais dû y penser plus tôt ^^ 1 Link to comment Share on other sites More sharing options...
Zythom Posted May 19, 2015 Share Posted May 19, 2015 Ok c'est résolu pour moi aussi : j'ai fait l'upgrade 1.6.0.14 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