【问题标题】:Call new php function when order is complete in MagentoMagento中订单完成时调用新的php函数
【发布时间】:2013-09-24 04:48:59
【问题描述】:

我有一个用于电子商务的 magento 网站。下订单后,我需要调用我在新 php 文件中创建的另一个函数,并将订单 skus、数量和送货地址传递给。我对 php 非常满意,但 Magento 对我来说是一个全新的野兽。

有谁知道下单时如何调用函数?即使只是活动的名称也会有所帮助。

【问题讨论】:

    标签: php magento events e-commerce


    【解决方案1】:

    我没有亲自使用过它,但sales_order_place_after 听起来可能就是您要找的东西。在this Inchoo article中就是这样使用的,也就是下单就做一些事情。

    Here's a page on the Magento wiki about setting up an event observer,这实际上只是一个小 XML,用于告诉 Magento 在分派该事件时运行一些代码,以及您要运行的代码。

    【讨论】:

    • 看来你是对的。这让我朝着正确的方向前进。维基页面也将非常有帮助。非常感谢,迈克!
    【解决方案2】:

    你可以试试sales_order_place_beforesales_order_place_after

    如果您对触发的事件感兴趣,常用的方法是临时添加 Mage::log($name); 在 Mage.php (app/Mage.php) 中是这样的

    public static function dispatchEvent($name, array $data = array())
    {
        Mage::log($name);
        Varien_Profiler::start('DISPATCH EVENT:'.$name);
        $result = self::app()->dispatchEvent($name, $data);
        Varien_Profiler::stop('DISPATCH EVENT:'.$name);
        return $result;
    }
    

    如果您在后端 System->Configuration>Developer->Log Settings 中启用了日志记录,这会将在页面查看或操作期间触发的任何事件记录到 var/log/system.log 中

    【讨论】:

    • 非常酷,这个日志功能会派上用场的,我敢肯定。谢谢,Fantus。
    猜你喜欢
    • 2011-02-25
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 2011-12-29
    • 1970-01-01
    相关资源
    最近更新 更多