您好,我有一个属性,可以计算所有属性集中产品的边际。问题是,如果购物车的毛利(或利润)低于要求,我如何设置规则以防止客户结帐?
发布于 2016-03-23 22:46:40
您可以为事件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(),如果它不符合您的要求。
享受吧!我希望这能帮到你。
https://stackoverflow.com/questions/36170288
复制相似问题