Привет, у меня есть атрибут, который вычисляет маржу продукта во всех наборах атрибутов. Вопрос в том, как я могу установить правило, чтобы предотвратить проверку клиента, если маржа (или прибыль) корзины меньше требуемой?Magento margin/profit rules, чтобы разрешить или запретить проверку
ответ
Вы можете создать observer для события controller_action_predispatch_checkout_onepage_index
- это сработает, когда клиент начнет процесс проверки одной страницы.
Это может быть достигнуто, как это в вашем модулей config.xml:
<events>
<controller_action_predispatch_checkout_onepage_index>
<observers>
<YOUR_MODULE_checkout_onepage_index>
<type>singleton</type>
<class>YOUR_MODULE_Model_Observer</class>
<method>calculateProductMargin</method>
</YOUR_MODULE_checkout_onepage_index>
</observers>
</controller_action_predispatch_checkout_onepage_index>
</events>
Если вы не знаете о том, как создать модуль затем look here
Так что в вашем приложения/код/местные/ВАШ/МОДУЛЬ/Модель/Observer.php:
class YOUR_MODULE_Model_Observer extends Varien_Event_Observer {
public function setStore($observer) {
// Your logic here
}
}
здесь вы можете $cart = Mage::getModel('checkout/cart')->getQuote();
и перебрать товары по корзине, рассчитать маржу вашего продукта и _goBack()
потенциально, если это не соответствует вашим требованиям.
Наслаждайтесь! Надеюсь, это поможет.
P.s. [Это отличный cheatsheet] (https://www.nicksays.co.uk/magento-events-cheat-sheet-1-7/) для любых будущих событий, которые вы, возможно, захотите наблюдать! –
Я голосующий, чтобы закрыть этот вопрос как не по теме, потому что Stack Overflow - это [связанный с программированием] (http://stackoverflow.com/help/on-topic) сайт Q & A. Ваш вопрос не в программировании. Возможно, вам стоит разместить его на http://magento.stackexchange.com? – Enigmativity