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

    StockAvailable et setQuantity();

    Planifier Épinglé Verrouillé Déplacé Discussion générale
    3 Messages 2 Publieurs 1.7k 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.
    • O Hors-ligne
      okom3pom legacy
      dernière édition par okom3pom

      Salut,

      Je deviens fou je ne comprends ce qu'il se passe et ça m'énerve.

      Prestashop 1.6.1.18 tout neuf

      Je m'explique je n'utilisais pas le module mailalerts pour les articles hors stock, j'ai décidé de l'installer. Il fonctionne très bien sauf que les clients ne reçoivent pas de mail quand je mets à jours les stocks.

      Dans mon débug je bloque ici :

      https://github.com/PrestaShop/PrestaShop/blob/1.6.1.x/classes/stock/StockAvailable.php#L507

      Si je mets juste arpès cette ligne un d($id_product_attribute);

      Il est set à 0 donc plus bas le

                  Hook::exec('actionUpdateQuantity',
                      array(
                          'id_product' => $id_product,
                          'id_product_attribute' => $id_product_attribute,
                          'quantity' => $stock_available->quantity
                      )
                  );
      

      Ne fait pas travailler le module mailalerts car il a un ipa à 0 ...

      Si je mets le d($id_product_attribute); juste avant pas de soucis.

      J'ai donc remonté jusqu'à $this->upate(); et même dans ObjectModel je ne trouve pas d'ou ça vient.

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

        Un ipa à 0 n'est pas un problème (produit sans décli)

        Sauf utilisation d'une fonction avec paramètre par référence (pas le cas ici), si ipa est à 0 c'est qu'il a été passe comme tel à la fonction.
        => public static function getStockAvailableIdByProductId($id_product, $id_product_attribute = null, $id_shop = null)

        Le problème ne peut venir que de l'appelant:

        classes/Product.php:1356:        StockAvailable::setQuantity($this->id, $id_product_attribute, $quantity);
        controllers/admin/AdminImportController.php:1946:                                    StockAvailable::setQuantity((int)$product->id, 0, (int)$product->quantity, (int)$shop);
        controllers/admin/AdminImportController.php:1949:                                StockAvailable::setQuantity((int)$product->id, 0, (int)$product->quantity, (int)$this->context->shop->id);
        controllers/admin/AdminImportController.php:1958:                            StockAvailable::setQuantity((int)$product->id, 0, (int)$product->quantity, (int)$shop);
        controllers/admin/AdminImportController.php:1961:                        StockAvailable::setQuantity((int)$product->id, 0, (int)$product->quantity, (int)$this->context->shop->id);
        controllers/admin/AdminImportController.php:2414:                                    StockAvailable::setQuantity((int)$product->id, $id_product_attribute, (int)$info['quantity'], (int)$shop);
        controllers/admin/AdminImportController.php:2417:                                StockAvailable::setQuantity((int)$product->id, $id_product_attribute, (int)$info['quantity'], $this->context->shop->id);
        controllers/admin/AdminImportController.php:2426:                            StockAvailable::setQuantity((int)$product->id, $id_product_attribute, (int)$info['quantity'], (int)$shop);
        controllers/admin/AdminImportController.php:2429:                        StockAvailable::setQuantity((int)$product->id, $id_product_attribute, (int)$info['quantity'], $this->context->shop->id);
        controllers/admin/AdminProductsController.php:4901:                StockAvailable::setQuantity($product->id, (int)Tools::getValue('id_product_attribute'), (int)Tools::getValue('value'));
        controllers/admin/AdminAttributeGeneratorController.php:153:                                        StockAvailable::setQuantity($this->product->id, (int)$attribute['id_product_attribute'], $quantity, (int)$current_shop['id_shop']);
        controllers/admin/AdminAttributeGeneratorController.php:158:                            StockAvailable::setQuantity($this->product->id, (int)$attribute['id_product_attribute'], $quantity);
        

        https://store.enter-solutions.com modules, support et assistance.

        Je précise que je n'ai pas fait ni Paco-Rabane, ni Poudlard 2ème langue - je ne suis ni devin, ni magicien.
        Fournissez un maximum d'information dans vos questions, version exacte du coeur et de vos modules, si besoin un peu d'histoire sur votre shop et vos recherches, les modules tiers installés, ...

        Si mon intervention vous a aidé, n'hésitez pas à me remercier: https://ko-fi.com/A153227G

        1 réponse Dernière réponse Répondre Citer 0
        • O Hors-ligne
          okom3pom legacy
          dernière édition par

          StockAvailable::setQuantity($this->id, $id_product_attribute, $quantity);

          Est bien appelé avec un $id_product_attribute.

          Le problème c'est qu'il est relancé plus loin dedans avec un $id_product_attribute à 0

          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