groussel69 Posted March 7, 2014 Share Posted March 7, 2014 Bonjour, En vue de proposer mon module en version 1.4, 1.5 et 1.6, j'ai fait un peu de refactor dans mon code pour ne gérer qu'une seule version de mon fichier. Depuis celà, mon module est refusé par le "validator" pour cause de "Use of globals is forbidden". J'ai tout d'abord une variable $version_ps que j'instancie comme suit : $version_ps = (_PS_VERSION_ >= '1.5' ? '1.5' : '1.4'); Je fais ensuite, en fonction de cette variable, les déclarations et affectations suivantes : if ($version_ps == '1.4') global $currentIndex; if (class_exists('Context')) $this->context = Context::getContext(); else { if ($version_ps == '1.4') { global $cookie, $currentIndex; $this->context = new StdClass(); $this->context->smarty = $smarty; $this->context->cookie = $cookie; } } Le "validator" automatique (https://validator.prestashop.com/validation) indique l'erreur Link to comment Share on other sites More sharing options...
Prestaspirit Posted March 7, 2014 Share Posted March 7, 2014 Bonjour, La référence global à été déprécié dans la version 1.5 tout à été ajouté dans le context, je vous conseil vivement de faire un module pour les version antérieur à la 1.5 et un autre pour la 1.5 et supérieur. Link to comment Share on other sites More sharing options...
groussel69 Posted March 7, 2014 Author Share Posted March 7, 2014 La suite de mon message : Le "validator" automatique (https://validator.prestashop.com/validation) indique l'erreur Link to comment Share on other sites More sharing options...
groussel69 Posted March 7, 2014 Author Share Posted March 7, 2014 J'aimerais bien finir mon message mais il me le tronque systématiquement !! Je le met en PJ :-( post global.txt Link to comment Share on other sites More sharing options...
groussel69 Posted March 7, 2014 Author Share Posted March 7, 2014 On lit pourtant des choses similaires ici : https://www.undernews.fr/developpement-web/prestashop-1-5-gerer-la-retro-compatibilite-des-modules-pour-les-versions-1-4.html Link to comment Share on other sites More sharing options...
Prestaspirit Posted March 7, 2014 Share Posted March 7, 2014 L'un n'empêche pas l'autre, si vous voulez avoir aucune erreur sur le validator il faut procéder ainsi mais normalement même avec ces erreurs votre module à due être validé Link to comment Share on other sites More sharing options...
DevNet Posted March 7, 2014 Share Posted March 7, 2014 Salut, Heu, juste une parenthèse pour la comparaison des versions, ne faites jamais ça : (_PS_VERSION_ >= '1.5' ? '1.5' : '1.4'); Mais plutôt : version_compare(_PS_VERSION_, '1.5', '>='); A+ Link to comment Share on other sites More sharing options...
groussel69 Posted March 12, 2014 Author Share Posted March 12, 2014 Bon, j'ai coupé en 2 modules pour version 1.4 et sup. ou égale à 1.5, dont 1.6. Passé le validator, reste l'équipe des humains Merci pour vos conseils et réponses. 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