Magento的:限制产品数量最多为1每个订单。 量2 = 2项目(Magento: limit

2019-06-25 02:19发布

它是无论如何可能在Magento特定产品限制在每一个订单的最大数量是多少? 这意味着用户只可以在一个时间顺序一个产品。 如果他想订购的产品两次他所要做的第二顺序。 这是我后来为了工作流程非常重要。

THX您的帮助,我很感激!

亲切的问候,马努

Answer 1:

是的,您可以通过编辑产品时, 库存选项卡上编辑值限制在购物车中的产品的最大数量。 见下面的截图。 在你的情况,你会希望取消Use Config Settings和值设置为1



Answer 2:

那么上面的回答是有用的限制单一产品到购物车中添加不限制最大数量的购物车允许。 要更改此设置休耕娄步骤。

首先登录到Magento管理,然后进入系统>>配置 ,然后使用这个配置设置。



Answer 3:

看看@ Magento的最大允许订单金额 ,你就必须创建一个自定义模块添加此功能。

创建一个观察者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>

在您的观察

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;
        }
    }
}


Answer 4:

下面应该解决您的问题:

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;
    }
}


文章来源: Magento: limit product max quantity to 1 per order. quantity 2 = 2 orders