Php 如何在magento收到付款后触发事件?

Php 如何在magento收到付款后触发事件?,php,triggers,magento,observer-pattern,Php,Triggers,Magento,Observer Pattern,问候,在Magento中,我想触发一个事件,一旦订单被设置为处理(通过网关确认或手动),例如:如果一个普通客户(id 1)花费超过100美元,并且付款已被确认,则将其组id设置为4(银色VIP,根据促销规则在全球获得2%的折扣) 我想悬赏,但我想在两天前得到答案 编辑:到目前为止,我收到的答案只是部分答案,而且我发现链接非常混乱,我不清楚什么是最小设置,我必须配置什么创建等等。。。此外,我还试图了解如何获取付费客户id/型号。您可以为“销售\订单\付款\付款”事件创建一个观察者。以下是magen

问候,在Magento中,我想触发一个事件,一旦订单被设置为处理(通过网关确认或手动),例如:如果一个普通客户(id 1)花费超过100美元,并且付款已被确认,则将其组id设置为4(银色VIP,根据促销规则在全球获得2%的折扣) 我想悬赏,但我想在两天前得到答案


编辑:到目前为止,我收到的答案只是部分答案,而且我发现链接非常混乱,我不清楚什么是最小设置,我必须配置什么创建等等。。。此外,我还试图了解如何获取付费客户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;
    }

}