Jump to content

Passer un module de php 7.1 a php 7.2 ?


Recommended Posts

Bonjour 🙂 

Prestashop 1.7
Comment puis je faire pour passer un module de php 7.1 a php 7.2 ?

Il me fait une erreur dans le back si je me mets en version php 7.2.
Et fonctionne bien en php 7.1.

Quelles serait la methode ou les lignes a changer pour qu'il soit ok en php 7.2 ?

Merci de vos aides... 

Trés bonne journée a vous tous. 🙂

Capture d’écran 2020-04-29 à 14.15.09.png

Capture d’écran 2020-04-29 à 14.15.20.png

Link to comment
Share on other sites

Il y a 2 heures, doekia a dit :

Déclarer votre fonction setMedia() avec le même schéma de fonction que la classe de base.

Dans le module et dans la classe Module

Bonjour Doekia, merci de ton intervention.
Je vais donc faire des recherches sur ou et comment remplacer ça dans le module afin de le faire fonctionner correctement dans php 7.2.
Très bonne journée à toi.

Link to comment
Share on other sites

Vous devez éditer le fichier /modules/sizehcart/controllers/admin/SizeChartCoreController.php.

Trouver la fonction

setMedia()

et la changer pour

setMedia($isNewTheme = false)

Vous pouvez également contacter le développeur, qui, je suppose, a publié une version qui résout ce problème.

Link to comment
Share on other sites

Il y a 14 heures, idnovate.com a dit :

Vous devez éditer le fichier /modules/sizehcart/controllers/admin/SizeChartCoreController.php.

Trouver la fonction


setMedia()

et la changer pour


setMedia($isNewTheme = false)

Vous pouvez également contacter le développeur, qui, je suppose, a publié une version qui résout ce problème.

Bonjour, 

idnovate.com, merci beaucoup pour cette aide précieuse qui me fait gagner du temps.
Concernant le developpeur, c'est deja sa derniere version du module.
Pas de polémique à son sujet, ce n'est pas ma démarche. Et j'aimerais si possible modifier ceci sans lui.
D'ailleurs son module fonctionne très bien, c'est "juste" les versions de php supérieurs qui cause ce problème et qui va être corrigé dans le futur. 

En attendant j'aimerais juste le faire fonctionner.

J'ai effectué la modification à,  public function setMedia($isNewTheme = false) dois je effectuer la même modif dans parent ?

01.png.d71365ceae3b33bec3cd764fbd104de4.png

Cela me renvoi a cette erreur,         $tpl = $this->custom_smarty->createTemplate($template_name);
Dois je changer le nom la aussi ?

 

2.png.73af9b72038d904ddcb44610610613c7.png

Dans tous les cas merci beaucoup pour ces aides.

Trés bonne journée à vous 😉

 

 

Edited by Guest (see edit history)
Link to comment
Share on other sites

Comme je l'ai expliqué ... le problème est natif. Il faut aussi changer la classes Module.php et selon ta version, la classes FrontController .php

Ce problème est connu et référencé depuis de nombreux mois dans le forum et sur Github

Link to comment
Share on other sites

il y a 36 minutes, doekia a dit :

Comme je l'ai expliqué ... le problème est natif. Il faut aussi changer la classes Module.php et selon ta version, la classes FrontController .php

Ce problème est connu et référencé depuis de nombreux mois dans le forum et sur Github

Bonjour  Doekia, merci... je viens de chercher et ne trouve pas 😞 Je vais voir les lignes en erreur mais quoi que je change... Rien ne se passe... Donc je ne change pas correctement et la s'arrête mes pauvres compétences de débutant... 

J'ai fait une recherche sur le forum pour voir les discutions a ce sujet mais ne trouve rien, peut être aurais tu un mot clés plus précis?
et pour Github, je vais chercher .... Un mot clés serait sympa aussi pour ça 🙂 .

Encore merci de tes avis. Je n'ai pas encore assez le niveau mais j'apprend...

Link to comment
Share on other sites

17 hours ago, Tiri said:

Bonjour, 

idnovate.com, merci beaucoup pour cette aide précieuse qui me fait gagner du temps.
Concernant le developpeur, c'est deja sa derniere version du module.
Pas de polémique à son sujet, ce n'est pas ma démarche. Et j'aimerais si possible modifier ceci sans lui.
D'ailleurs son module fonctionne très bien, c'est "juste" les versions de php supérieurs qui cause ce problème et qui va être corrigé dans le futur. 

En attendant j'aimerais juste le faire fonctionner.

J'ai effectué la modification à,  public function setMedia($isNewTheme = false) dois je effectuer la même modif dans parent ?

01.png.d71365ceae3b33bec3cd764fbd104de4.png

Cela me renvoi a cette erreur,         $tpl = $this->custom_smarty->createTemplate($template_name);
Dois je changer le nom la aussi ?

 

2.png.73af9b72038d904ddcb44610610613c7.png

Dans tous les cas merci beaucoup pour ces aides.

Trés bonne journée à vous 😉

 

Vous devez également définir:

parent::setMedia($isNewTheme);

Vous avez également mis une autre erreur différente! Ce module est-il plein de bugs? Il semble qu'il ne soit pas compatible avec votre version de PS.

Link to comment
Share on other sites

https://github.com/PrestaShop/PrestaShop/blob/1.7.6.x/classes/controller/Controller.php#L206

https://github.com/PrestaShop/PrestaShop/blob/1.7.6.x/classes/controller/FrontController.php#L904

https://github.com/PrestaShop/PrestaShop/blob/1.7.6.x/classes/controller/AdminController.php#L2669

Donc toutes les surcharges de fonction setMedia de l'admin doivent suivre le prototype

public function setMedia($isNewTheme = false)

php7.2 converti de nombreuse erreur en exception

Ici vous avez une erreur strict-standard (peut être eventuellement masquée par error_reporting(E_ALL ^ E_STRICT); )

Link to comment
Share on other sites

Il y a 4 heures, idnovate.com a dit :

Vous avez également mis une autre erreur différente! Ce module est-il plein de bugs? Il semble qu'il ne soit pas compatible avec votre version de PS.

Je re édite le message... Et par respect je re poste ici.

D'abord Merci beaucoup à Doekia, il m'a très bien orienté... Les liens ont été long à lire, comprendre assimiléssss Mais c'est OK.
Merci à idnovate.com, qui a su me donner sans hesiter les bonnes solutions qui m'ont également guidées.

Je confirme pour d'autres: public function setMedia($isNewTheme = false) est la solution pour passer de php 7.1 à au dela 🙂

Pour moi il y avais d'autres petits problèmes, que j'ai pu régler grâce aux liens sur Github.

 

Le message d'origine:

Bonjour,

Merci idnovate.com de ce retour, effectivement je pense de plus en plus que les modules de KnowBand sont pleins d'erreurs.
Désolé pour eux, et pour leurs modules qui ont l'air très bien mais voila...

Merci doekia, je me suis abonné à ces discussions et modifications sur Github et vais apprendre, encore et encore 🙂.

Pour ce module (pourtant testé sur 2 presta propre en local 1.7.6.4 et .5)cela ne change rien, ça fonctionne en php 7.1 mais pas au dessus...
j'avais bien effectué les modif recommandées mais ca ne change rien à part me faire d'autres erreurs.


Etrange car ce module est à jour, et le développeur KnowBand, en Inde, ne répond sur aucun canaux...
Maintenant je ne veux pas lui jeter la pierre 😉et pas créer de polémique.

Merci encore beaucoup à vous. Je vais creuser sur ce module car j'aimerais trouver la solution.

Très bonne journée ! Je vous envoie pleins de jolies branches de muguet en ce 1er mai...
Je retourne à mes cours de dev.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...