【问题标题】:Magento margin/profit rules to allow or prevent check outMagento 保证金/利润规则以允许或阻止结帐
【发布时间】:2016-03-23 05:10:11
【问题描述】:
您好,我有一个属性可以在所有属性集中计算产品的利润。问题是如果购物车的保证金(或利润)低于要求,我如何设置规则以防止客户结账?
【问题讨论】:
标签:
magento
magento-1.9
checkout
rules
【解决方案1】:
您可以为事件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
所以在你的app/code/local/YOUR/MODULE/Model/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(),如果它不符合您的要求。
享受吧!我希望这会有所帮助。