我想在结帐过程中应用优惠券后做点什么。我使用了'catalogrule_after_apply'事件以及Observer.php中的相应函数。优惠券仍在应用,而没有按照我的观察员方法。我有其他事件触发,所以无效的xml不会是这种情况。问题可能是我正在使用的事件,但我找不到任何会产生相同效果的事件。建议?
等/ config.xml中
<config>
<events>
<catalogrule_after_apply>
<observers>
<promosource>
<type>singleton</type>
<class>promosource/observer</class>
<method>addSourceIdToSessionFromCoupon</method>
</promosource>
</observers>
</catalogrule_after_apply>
</events>
</config>
助手/ Observer.php
<?php
class Russ_Promosource_Model_Observer
{
public function __construct()
{
}
public function addSourceIdToSessionFromCoupon($observer) {
die ('event observer worked');
}
}
提前谢谢。
答案 0 :(得分:0)
当您点击管理员中的“应用规则”时,会触发您正在观察的事件
对于你想做的事情,我会使用salesrule_validator_process
事件。然后,观察者可以访问应用的规则:
public function couponApplied($observer)
{
$rule = $observer->getEvent()->getRule();
$couponCode = $rule->getCouponCode();
$ruleId = $rule->getRuleId();
}
HTH