我不想把折扣券用在已经打折的产品上,即特价产品上。所以我创建了一个事件监听:
<?xml version="1.0" ?>
<config>
<modules>
<Tweett_Fashionn>
<version>0.1.0</version>
</Tweett_Fashionn>
</modules>
<global>
<events>
<salesrule_validator_process>
<observers>
<Tweett_Fashionn_Hook>
<type>singleton</type>
<class>Tweett_Fashionn_Model_Observer</class>
<method>specialpricediscount</method>
</Tweett_Fashionn_Hook>
</observers>
</salesrule_validator_process>
</events>
</global>观察者文件如下所示
<?php
class Tweett_Fashionn_Model_Observer extends Varien_Event_Observer{
public function __construct(){
echo "<p style='color:red'>Hello World .. </p>";
}
public function specialpricediscount($observer){
$item=$observer['item'];
$_product = Mage::getSingleton('catalog/product')->load($item->getProductId());
if($_product->getSpecialPrice()>0 ){
$result = $observer['result'];
$result->setDiscountAmount(0);
}
}
}
?>但是当我点击apply coupon按钮..plz help时,它甚至不会打印hello world
发布于 2012-07-21 02:04:43
你的config.xml看不到结尾了?你可能只是没有把它粘贴进去。您是否确保您的模块已启用?看看这个免费的扩展,它可以帮助你调试扩展- http://www.magentocommerce.com/magento-connect/magneto-debug-8676.html
发布于 2015-01-19 18:36:52
我也有同样的问题。我认为下面的方法是正确的:
<salesrule_validator_process>
<observers>
<Namespace_Modulename> // your namespace_modulename
<type>model</type> //change singleton to model
<class>Tweett_Fashionn_Model_Observer</class>
<method>specialpricediscount</method>
</Namespace_Modulename>
</observers>
</salesrule_validator_process>愿这对你有所帮助。
https://stackoverflow.com/questions/11189720
复制相似问题