Domanda

Sto guardando a limitare i clienti all'acquisto di 1 prodotto Bundle alla volta.

C'è un modo per impostare "Massima Qtà ammessi nel carrello della spesa" per un prodotto Bundle.

Voglio farlo senza limitare i singoli prodotti, quindi i clienti possono acquistare come molti di loro separatamente.

Qualche idea se è possibile, se sì, come posso implementare questo?

È stato utile?

Soluzione

La caratteristica del nucleo "Qtà massima" è legata agli oggetti magazzini, quindi non funziona con i bundle (non hanno il proprio stock).

Devi svilupparlo da solo.

Per i prodotti semplici, il check avviene in 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;
}
.

È chiamato in Mage_CatalogInventory_Model_Observer::checkQuoteItemQty() ed è qui che aggiungerei le mie restrizioni aggiuntive per i bundle.Con una riscrittura o con un osservatore aggiuntivo per lo stesso evento (sales_quote_item_qty_set_after):

    .
  • Verifica se l'elemento è un pacchetto
  • In caso contrario, controlla se Qty Bundle è> 1 e in questo caso Aggiungi errore per citare proprio come nell'osservatore originale.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top