Pregunta

Estoy mirando a los clientes limitantes a comprar 1 producto de paquete a la vez.

Hay una forma de ajustar "Cantidad máxima permitida en el carrito de la compra" para un producto de paquete.

Quiero hacer esto sin limitar los productos individuales, por lo que los clientes pueden comprar tantos de ellos por separado.

Cualquier idea si esto es posible, si es así, ¿cómo implemento esto?

¿Fue útil?

Solución

La característica principal "Cantidad máxima" está vinculada a artículos de stock, por lo que no funciona con paquetes (no tienen su propia cantidad).

Tienes que desarrollarlo por su cuenta.

Para productos simples, el cheque ocurre 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;
}

Se llama en Mage_CatalogInventory_Model_Observer::checkQuoteItemQty() y aquí es donde agregaría mis propias restricciones adicionales para los paquetes.Ya sea con una reescritura o con un observador adicional para el mismo evento (sales_quote_item_qty_set_after):

  • Compruebe si el artículo es paquete
  • Si es así, compruebe si el paquete es> 1 y en este caso Agregar error para citar igual en el observador original.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top