문제

나는 한 번에 하나의 번들 제품을 구매하도록 고객을 제한하는 것을보고 있습니다.

번들 제품의 경우 "장바구니에서 허용 된 최대 수량"을 설정하는 방법이 있습니다.

나는 개별 제품을 제한하지 않고이 작업을하고 싶어하므로 고객은 별도로 많은 사람들을 살 수 있습니다.

아이디어가 가능하다면, 그렇다면 어떻게 구현할 수 있습니까?

도움이 되었습니까?

해결책

핵심 기능 "최대 수량"은 재고 항목에 묶여 있으므로 번들로 작동하지 않습니다 (자신의 주식이 없습니다).

당신은 당신 자신을 개발해야합니다.

간단한 제품의 경우 수표는 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;
}
.

Mage_CatalogInventory_Model_Observer::checkQuoteItemQty() rundles에 대한 추가적인 제한을 추가하는 곳입니다.재 작성 또는 동일한 이벤트 (sales_quote_item_qty_set_after)에 대한 추가 옵저버가있는 경우 :

  • 항목이 번들인지 확인
  • 이면 번들 수량이> 1 이고이 경우 원래 관찰자와 마찬가지로 인용 할 때 오류를 추가하십시오.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top