aide prestashop PhenixSuite Help
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Recherche
    • S'inscrire
    • Se connecter

    1.6.2.19 - Erreur sur le module Editeur de page d'accueil

    Planifier Épinglé Verrouillé Déplacé Bugs & Améliorations
    4 Messages 2 Publieurs 232 Vues 2 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • ThierryLT Hors-ligne
      ThierryL
      dernière édition par ThierryL

      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

      1 réponse Dernière réponse Répondre Citer 0
      • eoliaE Hors-ligne
        eolia
        dernière édition par

        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 😉

        Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

        ThierryLT 1 réponse Dernière réponse Répondre Citer 0
        • eoliaE Hors-ligne
          eolia
          dernière édition par

          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^^

          Créateur de PhenixSuite. Pour plus d'infos : https://eoliashop.com

          1 réponse Dernière réponse Répondre Citer 0
          • ThierryLT Hors-ligne
            ThierryL @eolia
            dernière édition par

            @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.

            1 réponse Dernière réponse Répondre Citer 1
            • Premier message
              Dernier message
            bug
            26 sujets
            1.6
            24 sujets
            front-office
            11 sujets
            1.5
            8 sujets
            1.7
            5 sujets
            système
            4 sujets
            administration
            3 sujets
            hack
            3 sujets
            module
            3 sujets
            performance
            3 sujets
            smtp
            3 sujets
            transporteurs
            3 sujets
            dashboard
            2 sujets
            https
            2 sujets
            paypal
            2 sujets
            promotions
            2 sujets