Посмотрите @Magento Maximum Allowed Order Amount, вам придется создать собственный модуль для добавления этой функции.
Создание наблюдателя для 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;
}
}
}
ОК, может быть, я не был достаточно специфичен. Я имел в виду, что всего 1 продукт может быть ordert. Ваша конфигурация ограничивает только определенный продукт, который будет заказываться один раз. – Manuel
Этот параметр означает, что вы можете купить 10000 за раз. Один клиент может купить 10000 штук за один заказ. Если он хочет, то 1000 пунктов снова за следующий заказ. И снова и снова. – diNord
Да, я понимаю, но если у меня есть 2 продукта (A и B) с max qty 1, я все равно могу заказать 2 продукта: продукт 1x A и 1x продукт B. Однако клиент должен иметь возможность только одного ОДНОГО продукта. Таким образом, клиент может либо заказать продукт A, либо продукт B. Вы также знаете решение для этого? – Manuel