Question

J'envisage de limiter les clients à l'achat d'un seul produit groupé à la fois.

Existe-t-il un moyen de définir la « Quantité maximale autorisée dans le panier » pour un produit groupé.

Je veux le faire sans limiter les produits individuels, afin que les clients puissent en acheter autant séparément.

Des idées si cela est possible, si oui, comment puis-je le mettre en œuvre ?

Était-ce utile?

La solution

La fonctionnalité principale « Quantité maximale » est liée aux articles en stock, elle ne fonctionne donc pas avec les lots (ils n'ont pas leur propre stock).

Vous devez le développer vous-même.

Pour les produits simples, le contrôle s'effectue en Mage_CatalogInventory_Model_Stock_Item::checkQuoteItemQty():

if ($this->getMaxSaleQty() && $qty > $this->getMaxSaleQty()) {
    $result->setHasError(true)
        ->setMessage(
            Mage::helper('cataloginventory')->__('The maximum quantity allowed for purchase is %s.', $this->getMaxSaleQty() * 1)
        )
        ->setErrorCode('qty_max')
        ->setQuoteMessage(Mage::helper('cataloginventory')->__('Some of the products cannot be ordered in requested quantity.'))
        ->setQuoteMessageIndex('qty');
    return $result;
}

On l'appelle Mage_CatalogInventory_Model_Observer::checkQuoteItemQty() et c'est là que j'ajouterais mes propres restrictions supplémentaires pour les bundles.Soit avec une réécriture, soit avec un observateur supplémentaire pour le même événement (sales_quote_item_qty_set_after):

  • vérifier si l'article est un lot
  • si tel est le cas, vérifiez si la quantité du paquet est > 1 et dans ce cas, ajoutez une erreur pour citer, comme dans l'observateur d'origine.
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top