Php 如何在magento收到付款后触发事件?
问候,在Magento中,我想触发一个事件,一旦订单被设置为处理(通过网关确认或手动),例如:如果一个普通客户(id 1)花费超过100美元,并且付款已被确认,则将其组id设置为4(银色VIP,根据促销规则在全球获得2%的折扣) 我想悬赏,但我想在两天前得到答案Php 如何在magento收到付款后触发事件?,php,triggers,magento,observer-pattern,Php,Triggers,Magento,Observer Pattern,问候,在Magento中,我想触发一个事件,一旦订单被设置为处理(通过网关确认或手动),例如:如果一个普通客户(id 1)花费超过100美元,并且付款已被确认,则将其组id设置为4(银色VIP,根据促销规则在全球获得2%的折扣) 我想悬赏,但我想在两天前得到答案 编辑:到目前为止,我收到的答案只是部分答案,而且我发现链接非常混乱,我不清楚什么是最小设置,我必须配置什么创建等等。。。此外,我还试图了解如何获取付费客户id/型号。您可以为“销售\订单\付款\付款”事件创建一个观察者。以下是magen
编辑:到目前为止,我收到的答案只是部分答案,而且我发现链接非常混乱,我不清楚什么是最小设置,我必须配置什么创建等等。。。此外,我还试图了解如何获取付费客户id/型号。您可以为“销售\订单\付款\付款”事件创建一个观察者。以下是magento 1.3中的事件列表
以及如何创建的说明。由优秀的activecodeline和inchoo网站提供的链接。您应该首先在app/code/local中创建自己的模块。 例如,创建Moak/Vip目录。它将是模块的根目录 为了让Magento知道它的存在,请在etc/modules中创建一个名为Moak_Vip.xml的文件,其中包含以下内容:
<?xml version="1.0"?>
<config>
<modules>
<Moak_Vip>
<active>true</active>
<codePool>local</codePool>
<self_name>Moak VIP module</self_name>
</Moak_Vip >
</modules>
</config>
现在,您的Observer方法checkVipCustomer
应该接收一个事件对象,您可以从中检索有关订单、客户。。。并执行您喜欢的修改。
查看app/code/core/Mage/../model/…中的Magento模型类。。。
查看如何在这些对象中导航
例如:
<?php
class Moak_Vip_Model_Observer
{
public function checkVipCustomer($event)
{
$order = $event->getInvoice()->getOrder(); // Mage_Sales_Model_Order
/*
- Check order amount
- Get customer object
- Set Group id
- $customer->save();
*/
return $this;
}
}
这太棒了,伙计。这可能有点过时,但它很好地说明了Magento如何实现事件/观察者模式。干杯config.xml中的“computeExpirationDate”可能应该是“checkVipCustomer”
<?php
class Moak_Vip_Model_Observer
{
public function checkVipCustomer($event)
{
$order = $event->getInvoice()->getOrder(); // Mage_Sales_Model_Order
/*
- Check order amount
- Get customer object
- Set Group id
- $customer->save();
*/
return $this;
}
}