Magento: limit product max quantity to 1 per order. quantity 2 = 2 orders

后端 未结 4 1605
隐瞒了意图╮
隐瞒了意图╮ 2020-12-11 09:46

Is it anyhow possible to limit specific products in Magento to a max quantity of one per order? This means the user can only order one product at a time. If he wants to orde

相关标签:
4条回答
  • 2020-12-11 10:01

    Well above answer is useful to restrict a single product to add in cart not for Restricting Maximum Qty Allowed in Shopping Car. To change this setting fallow bellow steps.

    First login into Magento admin then Go to System>>Configuration then use this configuration settings.

    enter image description here

    0 讨论(0)
  • 2020-12-11 10:07

    The below should fix your issue:

    public function enforceSingleOrderLimit($observer){
         if (!$this->_helper->isModuleEnabled()) {
            return;
        }
        $cart = Mage::getModel('checkout/cart')->getQuote();
        if ($cart->getItemsCount() > 1) {
    
            Mage::getSingleton('checkout/session')->addError('limit only one product per order');
            Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('checkout/cart'));
            Mage::app()->getResponse()->sendResponse();
            exit;
        }
    }
    
    0 讨论(0)
  • 2020-12-11 10:10

    Take a look @ Magento Maximum Allowed Order Amount, you would have to create a custom module to add this feature.

    Create an observer for sales_quote_save_before

    <config>
        <frontend>
            <events>
                <sales_quote_save_before>
                    <observers>
                        <inchoo_maxorderamount_enforceSingleOrderLimit>
                            <class>inchoo_maxorderamount/observer</class>
                            <method>enforceSingleOrderLimit</method>
                        </inchoo_maxorderamount_enforceSingleOrderLimit>
                    </observers>
                </sales_quote_save_before>
            </events>
        </frontend>
    </config>
    

    In your observer

    class Inchoo_MaxOrderAmount_Model_Observer
    {
        private $_helper;
        public function __construct()
        {
            $this->_helper = Mage::helper('inchoo_maxorderamount');
        }
        /**
         * No single order can be placed over the amount of X
         */
        public function enforceSingleOrderLimit($observer)
        {
            if (!$this->_helper->isModuleEnabled()) {
                return;
            }
            $quote = $observer->getEvent()->getQuote();
            if ($quote->getCart()->getItemsCount() == 1) {
    
                Mage::getSingleton('checkout/session')->addError('limit only one product per order');
                Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('checkout/cart'));
                Mage::app()->getResponse()->sendResponse();
                exit;
            }
        }
    }
    
    0 讨论(0)
  • 2020-12-11 10:12

    Yes, you can limit the maximum quantity of a product in the shopping cart by editing the value on the Inventory tab when editing a product. See screenshot below. In your case, you'd want to uncheck Use Config Settings and set the value to 1.

    Product page Inventory tab

    0 讨论(0)
提交回复
热议问题