Récemment
-
Aperçu de l'activité dans le dashboard vide
Bugs & Améliorations29 -
Tri par code de réduction (Commandes) [RÉSOLU]
Bugs & Améliorations5 -
Uncaught Error: Call to a member function rowCount() on bool [RÉSOLU]
Bugs & Améliorations4 -
Navigation à facettes
Bugs & Améliorations8 -
Calcul des règles paniers HT/TTC [RÉSOLU]
Bugs & Améliorations44 -
Erreur lors d'une nouvelle installation depuis 0
Questions relatives à l'installation/upgrade24 -
Bug avec le module de paiement epayment
Bugs & Améliorations2 -
Changement statut de commande [RÉSOLU]
Bugs & Améliorations3 -
Prévisions sur le tableau de bord vide [RÉSOLU]
Bugs & Améliorations8 -
Nouvelle attaque ?
Discussion générale10 -
À partir de (from_price) [RÉSOLU]
Bugs & Améliorations11 -
Override AdminCustomersController [RÉSOLU]
Bugs & Améliorations11 -
Logo Phenix erreur 404 en BO
Bugs & Améliorations8 -
Bug Preventing eMail Delivery in at least 1.6.2.16 up to 1.6.2.19 (Probably much more)
Bugs & Améliorations3 -
1.6.2.19 - Erreur sur le module Editeur de page d'accueil
Bugs & Améliorations4 -
warning SQL ( debug activé ) dans Search.php
PhenixSuite6 -
Module PSitechecklist Facilitez la compréhension des retours clients.
Modules1 -
module moneticoPaiement
PhenixSuite2 -
Copieurs-Colleurs
Discussion générale3 -
règle prix catalogue et mise à jour panier
Bugs & Améliorations7
1.6.2.19 - Erreur sur le module Editeur de page d'accueil
-
Phenix version 1.6.2.19/php8.1
J'ai une erreur sur le module "Editeur de page d'accueil v10 - par PrestaShop modified by Eolia"
(voir l'erreur plus bas)Contexte:
Une fois installé, j'apporte des modifications sur sa page de paramètre et lorsque j'enregistre cela fait une erreur.Solution apportée:
L'erreur rencontrée est une "TypeError" qui se produit dans le fichier /home/vabw9579/phenix.thierrylaval.dev/modules/editorial/EditorialClass.php à la ligne 80.
J'ai modifié la méthode copyFromPost de la classe EditorialClass. Le problème se situe à l'intérieur de cette méthode où vous utilisez la fonction key_exists pour vérifier si une clé existe dans un tableau. Cependant, dans votre cas, vous utilisez key_exists de manière incorrecte car il attend un tableau en deuxième argument, mais vous lui passez la classe EditorialClass.
Pour faire simple, j'ai remplacé la ligne 80
if (key_exists($key, $this) && $key != 'id_'.$this->table) $this->{$key} = $value;
par:
if (property_exists($this, $key) && $key != 'id_'.$this->table) $this->{$key} = $value;
Cela fonctionne. Suis-je ok avec cette modifications ?
Erreur pour info:
Fatal error: Uncaught TypeError: key_exists(): Argument #2 ($array) must be of type array, EditorialClass given in /home/vabw9579/phenix.prestashop.dev/modules/editorial/EditorialClass.php:80 Stack trace: #0 /home/vabw9579/phenix.prestashop.dev/modules/editorial/EditorialClass.php(80): key_exists() #1 /home/vabw9579/phenix.prestashop.dev/modules/editorial/editorial.php(267): EditorialClass->copyFromPost() #2 /home/vabw9579/phenix.prestashop.dev/modules/editorial/editorial.php(218): Editorial->postProcess() #3 /home/vabw9579/phenix.prestashop.dev/controllers/admin/AdminModulesController.php(1125): Editorial->getContent() #4 /home/vabw9579/phenix.prestashop.dev/controllers/admin/AdminModulesController.php(1461): AdminModulesControllerCore->postProcessCallback() #5 /home/vabw9579/phenix.prestashop.dev/classes/controller/Controller.php(201): AdminModulesControllerCore->postProcess() #6 /home/vabw9579/phenix.prestashop.dev/classes/Dispatcher.php(405): ControllerCore->run() #7 /home/vabw9579/phenix.prestashop.dev/xxxxxxxxxxxxx/index.php(79): DispatcherCore->dispatch() #8 {main} thrown in /home/vabw9579/phenix.prestashop.dev/modules/editorial/EditorialClass.php on line 80
[PrestaShop] Fatal error in module file :/home/vabw9579/phenix.prestashop.dev/modules/editorial/EditorialClass.php:
Uncaught TypeError: key_exists(): Argument #2 ($array) must be of type array, EditorialClass given in /home/vabw9579/phenix.prestashop.dev/modules/editorial/EditorialClass.php:80 Stack trace: #0 /home/vabw9579/phenix.prestashop.dev/modules/editorial/EditorialClass.php(80): key_exists() #1 /home/vabw9579/phenix.prestashop.dev/modules/editorial/editorial.php(267): EditorialClass->copyFromPost() #2 /home/vabw9579/phenix.prestashop.dev/modules/editorial/editorial.php(218): Editorial->postProcess() #3 /home/vabw9579/phenix.prestashop.dev/controllers/admin/AdminModulesController.php(1125): Editorial->getContent() #4 /home/vabw9579/phenix.prestashop.dev/controllers/admin/AdminModulesController.php(1461): AdminModulesControllerCore->postProcessCallback() #5 /home/vabw9579/phenix.prestashop.devclasses/controller/Controller.php(201): AdminModulesControllerCore->postProcess() #6 /home/vabw9579/phenix.prestashop.dev/classes/Dispatcher.php(405): ControllerCore->run() #7 /home/vabw9579/phenix.prestashop.dev/adminxxxxxxxxxxx/index.php(79): DispatcherCore->dispatch() #8 {main} thrown
-
Vous avez tout à fait raison, cette ligne m'a échappé lors du contrôle de conformité PHP 8.
Avant PHP7.4 ce code fonctionnait (warning au lieu de fatal)
Je n'ai pas encore contrôlé tous les cas de figure dans les modules natifs.Merci pour votre retour ce sera appliqué dans la v20 ;)
-
En gros, les fichiers qui ont la licence phenixsuite en en-tête ont été contrôlés en conformité PHP 8.2 mini, les autres font partie de la TODO List^^
-
@eolia a dit dans 1.6.2.19 - Erreur sur le module Editeur de page d'accueil :
...
Je me permets de rajouter que c'est moi qui remercie pour cet excellent travail sur cette version de Prestashop Phenix. Et c'est un plaisir de chercher des solutions à proposer.
Bravo et merci pour cette mise à disposition de Phenix.