Magento: ограничить максимальное количество товара до 1 на заказ. количество 2 = 2 заказа

Можно ли каким-то образом ограничить количество определенных продуктов в Magento до одного на один заказ? Это означает, что пользователь может заказать только один продукт за раз. Если он хочет заказать товар дважды, он должен сделать второй заказ. Это очень важно для меня для последующего процесса заказа.

Спасибо за вашу помощь, я ценю это!

С наилучшими пожеланиями, Ману

Ответы на вопрос(4)

Решение Вопроса

вы можете ограничить максимальное количество товара в корзине, изменив значение на Inventoryкладка @ при редактировании товара. Смотрите скриншот ниже. В вашем случае вы бы хотели снять галочку сUse Config Settings и установите значение1.

 Manuel27 янв. 2013 г., 16:23
Да, я понимаю, но если у меня есть 2 продукта (A и B) с максимальным количеством 1, я все еще могу заказать 2 продукта: 1x продукт A и 1x продукт B. Однако покупатель должен иметь возможность заказать только ОДИН продукт. Таким образом, клиент может заказать продукт A или продукт B. Вы тоже знаете решение?
 diNord22 июн. 2012 г., 10:47
Этот параметр означает, что вы можете купить 10000 одновременно. Один клиент может купить 10000 предметов за один заказ. Если он хочет, то 1000 предметов снова за следующий заказ. И так снова и снова.
 nachito28 янв. 2013 г., 01:23
Я бы предложил изменитьMage_Checkout_Model_Cart::addProduct() запретить добавление товаров, если в корзине уже есть количество (см.getItemsQty()). Вы также должны знать оupdateItem() который можно использовать для изменения количества товаров в корзине.
 Manuel09 июн. 2012 г., 19:36
ok, может быть, я не был достаточно конкретен. Я имел в виду 1 продукт можно заказать. Ваша конфигурация ограничивает определенный продукт, который будет заказан один раз.

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 admin, затем перейдите кSystem >> Конфигурация затем используйте настройки этой конфигурации.

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;
        }
    }
}
 Thomas Bennett18 февр. 2015 г., 21:28
Это выдает ошибку для меня.
 Renon Stewart18 февр. 2015 г., 21:35
Какую ошибку ты получаешь?
 Thomas Bennett18 февр. 2015 г., 21:43
Почему-то не отображаются ошибки. Я настроил ini и параметры отчетов об ошибках в index.php, поэтому я пытаюсь выяснить, почему это просто белый экран.

Ваш ответ на вопрос