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

    Error logs (null object)

    Planifier Épinglé Verrouillé Déplacé Bugs & Améliorations
    37 Messages 2 Publieurs 3.5k 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.
    • Olivier75009O Hors-ligne
      Olivier75009
      dernière édition par Olivier75009

      Le problème c'est qu'elle l'est. d((int)$params['product']->id) avant ou après $cache_id me retourne bien l'ID produit.
      Vu qu'il ne trouve pas l'index product, ne devrais-je pas faire un array_key_exists ?

      Cannot use isset() on the result of an expression (you can use "null !== expression" instead)

      www.rituel-manucure.com

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

        parce que tu fais un d() qui est un die et arrête le script mais s'il est appelé plusieurs fois tu ne vois pas les autres (ou alors faire un p())

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

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

          du coup :
          if(array_key_exists('product',$params)){
          $cache_id = 'crossselling|productfooter|'.(int)$params['product']->id;
          }
          else{
          $cache_id = 'crossselling|productfooter|'.(int)Tools::getValue('id_product');
          }

          www.rituel-manucure.com

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

            Bon en fait, si je clique sur un produit du crossselling, même erreur (ligne 256). Donc :

            $id_product = (int)Tools::getValue('id_product');
            $cache_id = 'crossselling|productfooter|'.$id_product;

                if (!$this->isCached('crossselling.tpl', $this->getCacheId($cache_id))) {
                    $final_products_list = $this->getOrderProducts(array($id_product));
            

            www.rituel-manucure.com

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

              @eolia p(((int)$params['product']->id)) donne bien l'ID puis Notice: Undefined index: product in /var/www/clients/client1/web4/web/modules/crossselling/crossselling.php on line 253

              Notice: Trying to get property 'id' of non-object in /var/www/clients/client1/web4/web/modules/crossselling/crossselling.php on line 253
              puis 0

              www.rituel-manucure.com

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

                donc tu mets le if(isset(... comme je t'ai dit 😉

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

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

                  @eolia Cannot use isset() on the result of an expression (you can use "null !== expression" instead)
                  NB: c'est un peu pénible cette contrainte de temps pour poster une réponse.

                  if(null==((int)$params['product']->id)){
                  return;
                  } ben toujours le problème mais n'affiche plus les produits crossselling

                  www.rituel-manucure.com

                  1 réponse Dernière réponse Répondre Citer 0
                  • Olivier75009O Hors-ligne
                    Olivier75009 @Olivier75009
                    dernière édition par

                    @Olivier75009 a dit dans Error logs (null object) :

                    Bon en fait, si je clique sur un produit du crossselling, même erreur (ligne 256). Donc :

                    $id_product = (int)Tools::getValue('id_product');
                    $cache_id = 'crossselling|productfooter|'.$id_product;

                        if (!$this->isCached('crossselling.tpl', $this->getCacheId($cache_id))) {
                            $final_products_list = $this->getOrderProducts(array($id_product));
                    

                    ça fait le job.

                    www.rituel-manucure.com

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

                      Tu es à quel endroit là, sur quelle page ?

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

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

                        Sur la page produit (hookProductFooter de toute façon)

                        Grrrr:
                        En tant que nouvel utilisateur, vous ne pouvez poster que toutes les 120 seconde(s) jusqu'à ce que vous obteniez une réputation de 3 - patientez avant de publier de nouveau.

                        www.rituel-manucure.com

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

                          Ton pb est ailleurs, pas normal que le module soit appelé 2 fois (et à mon avis, c'est un ajax qui l'appelle la seconde fois et forcément il n'y a pas d'id_product).
                          Mois si je fais un p($params['product']->id); je n'ai qu'une ligne avec le bon id.

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

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

                            Disons que j'ai une valeur (l'ID) et après la notice un 0.
                            <xmp style="text-align: left;">5992</xmp>
                            ...
                            <b>Notice</b>: Undefined index: product in <b>/var/www/clients/client1/web4/web/modules/crossselling/crossselling.php</b> on line <b>269</b><br> <br> <b>Notice</b>: Trying to get property 'id' of non-object in <b>/var/www/clients/client1/web4/web/modules/crossselling/crossselling.php</b> on line <b>269</b><br>
                            <xmp style="text-align: left;">0</xmp>

                            Je suppose que le second est $final_products_list = $this->getOrderProducts(array($params['product']->id

                            www.rituel-manucure.com

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

                              le second te parle de la ligne 269

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

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

                                la ligne 269 c'est justement : p(((int)$params['product']->id));

                                www.rituel-manucure.com

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

                                  Donc oui, ton hook est appelé 2 fois et ce n'est pas normal !

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

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

                                    Hooks visibles :
                                    displayHeader, displayProductFooter

                                    Hooks invisibles :
                                    actionOrderStatusPostUpdate, displayShoppingCartFooter

                                    !$this->registerHook('productFooter') ||
                                    !$this->registerHook('header') ||
                                    !$this->registerHook('shoppingCart') ||
                                    !$this->registerHook('actionOrderStatusPostUpdate')

                                    www.rituel-manucure.com

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

                                      je veux dire que ton module est appelé 2 fois, c'est ça qui n'est pas normal.

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

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

                                        Oui oui, j'avais bien compris.

                                        www.rituel-manucure.com

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • 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