php – 如何触发magento收到的付款事件?

问候,在Magento我想触发一个事件,一旦订单被设置为处理(通过网关确认或手动),例如:如果一般客户(ID 1)花费超过100美元并且付款已经确认,请设置他的团体成绩为4(银牌VIP,按促销规则全球获得2%折扣)
我会给予赏金,但我想在2天之前得到答案O_o

编辑:到目前为止我收到的答案只是一个部分答案,我也发现链接非常混乱,我不清楚什么是最小设置,我有什么配置创建等…我也在尝试了解如何获得付费客户ID /型号.

您应该首先在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>

然后,在您的模块目录中,您需要以下结构和文件:

> etc / config.xml
> Model / Observer.php

config.xml定义您的模块并为给定事件声明您的事件侦听器(当一个页面结帐过程完成时发送checkout_onepage_controller_success_action,在确认付款时发送sales_order_payment_pay).

您不需要任何数据库设置,因为您不会保存任何新实体.
因此,您的配置文件应如下所示:

<?xml version="1.0"?>
<config>
    <modules>
        <Moak_Vip>
            <version>0.1.0</version>
        </Moak_Vip>
    </modules>
    <global>
        <models>
            <moak>
                <class>Moak_Vip_Model</class>
            </moak>
        </models>      
        <events>
            <sales_order_payment_pay>
                <observers>
                    <moak_observer>
                        <type>singleton</type>
                        <class>moak/observer</class>
                        <method>checkVipCustomer</method>
                    </moak_observer>
                </observers>
            </sales_order_payment_pay >     
        </events>
     </global>
</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有一个艰难的学习曲线……祝好运 !

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


如何选择合适的 C++ Web 开发框架?
利用 C++ 框架构建高并发 Web 应用的策略
用 C++ 框架开发跨平台图形应用程序
golang框架中安全编码实践的最佳指南是什么?
golang框架与其他语言框架在设计理念上的区别有哪些?
C++ 图形框架与其他语言框架的比较
C++ 框架与其他 Web 开发框架的对比分析
使用 C++ 框架构建大型项目最佳实践
C++ 框架如何提高大型项目开发效率
C++ 框架中依赖注入的持续集成与部署工具
如何与社区协作和贡献到自定义 Golang 框架?
C++ 框架在大型项目中如何实现模块化开发
使用 C++ 框架开发跨平台 Web 应用
C++ 框架在大型项目中的优缺点
golang框架在性能上的优势体现在哪些方面?
C++ 框架在嵌入式系统内存优化中的优势
golang框架在人工智能与机器学习中的作用
如何扩展 Golang 框架以支持特定功能?
如何利用 Go Modules 和依赖项管理来自定义 Golang 框架?
Golang 框架中的性能优化技巧