N'hésitez pas à me le signaler si nécessaire via le formulaire de contact.
La dernière version de Prestashop 1.7 apporte de nombreux changements ( j’ y reviendrais sans doute plus longuement dans un article à venir ), et notamment dans la gestion des traductions dans l’administration.
Celle-ci se base à présent sur Symfony, tout en gardant quand même une rétrocompatibilité (théorique ) avec l’ancien système.
Les dernières recommandations ( à date ) de l’équipe Prestashop étaient de conserver l’ancien système de traduction pour les modules.
Dans le cadre de l’adaptation de l’un de mes module j’ai cependant fait face à la problématique suivante , impossible d’accéder à mon controller Admin, et affichage de la belle page d’erreur suivante :
Après analyse, du code erreur :
FatalErrorException in AdminController.php line 2735:
il s’avère que la fonction de traduction des modules ne marchait pas correctement dans mon cas et j’ai du surcharger cette fonction dans mon controller.
Voici donc le code qui a permis de faire fonctionner le module correctement
/** * Surcharge de la fonction de traduction sur PS 1.7 et supérieur. * La fonction globale ne fonctionne pas * @param type $string * @param type $class * @param type $addslashes * @param type $htmlentities * @return type */ protected function l($string, $class = null, $addslashes = false, $htmlentities = true) { if ( _PS_VERSION_ >= '1.7') { return Context::getContext()->getTranslator()->trans($string); } else { return parent::l($string, $class, $addslashes, $htmlentities); } } |
Si vous avez aussi rencontré ce problème et trouvé une autre solution n’hésitez pas à la partager 😉
Bonjour et merci pour cette page. Ayant rencontré également un problème avec l’accès au BO du site après juste avoir modifié une traduction, je vais tenter votre astuce. Mais en pratique, comment dois-je procéder ? Juste rajouter le code au fichier AdminController ?
Merci
Bonjour,
Attention cette modification a été réalisée pour corriger un problème de traduction lors du développement d’un module.
Elle ne s’applique donc pas forcément pour un problème global, il faut bien identifier votre problème initial.
Bonjour je travaille egalement sur prestasop 1.7 et moi j’ai la meme erreur en essayant d’acceder au onglet contact , Category , Devises de la page Admin
Comment je dois proceder pour effectuer la surcharge
FatalThrowableError in AdminController.php line 2755:
Call to a member function trans() on null
Bonjour,
Est-ce qu’un module est appellé dans cette page ?
Me aparece el mismo error al intentar abrir el modulo, Form Builder Pro.
Voy a intentar con esta solución .
Same issue updating to v1.7
The only different/special module we have is the « amazon integration module » (from Common-Services). Can not confirm if the issue comes from it, but your solution grant us access to admin.
Thanks
——
Mismo problema al actualizar a v1.7
El único módulo diferente / especial que tenemos es el « módulo de integración con amazon » (de Common-Services). No puedo confirmar si el problema proviene de él, pero tu solución nos ha dado acceso al admin.
Gracias
——
Même problème après mise à jour à v1.7
Le seul module différent / spécial que nous avons est le « module d’intégration avec amazon » (de Common-Services). Onne peut pas confirmer si le problème vient de là, mais votre solution nous a permit d’accéder à l’administrateur.
Merci
Thanks, it worked for me