在Magento中完成订单时调用新的php函数


Call new php function when order is complete in Magento

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

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

我没有亲自使用它,但听起来sales_order_place_after它可能就是您正在寻找的。在这篇 Inchoo 文章中以这种方式使用它,这也涉及在下订单后立即做一些事情。

这是Magento

维基上关于设置事件观察器的页面,它实际上只是一个小XML,告诉Magento在调度事件时运行一些代码,以及你想要运行的代码。

你可以试试sales_order_place_beforesales_order_place_after

如果您对触发的事件感兴趣,常见的方法是临时添加 Mage::log($name);在法师.php(应用程序/法师.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;
}

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