我不想对已经打折的产品,即有特价的产品申请折扣优惠券。所以我创建了一个事件,听听:
<?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);
}
}
}
?>
但是,当我点击“应用优惠券”按钮时,它甚至不打印hello世界..plz help
答案 0 :(得分:0)
你错过了config.xml的结尾?你可能没有粘贴它。 你确定你的模块已经启用了吗? 看看这个免费扩展,它可以帮助您调试扩展 - http://www.magentocommerce.com/magento-connect/magneto-debug-8676.html
答案 1 :(得分:0)
我有同样的问题。我认为以下是正确的方法:
<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>
愿这对你有所帮助。