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

时间:2013-09-23 20:26:52

标签: php magento events e-commerce

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

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

2 个答案:

答案 0 :(得分:3)

我个人没有使用它,但sales_order_place_after听起来可能就是你想要的。它在this Inchoo article中以这种方式使用,这也涉及在下订单时做一些事情。

Here's a page on the Magento wiki about setting up an event observer,它实际上只是一个小的XML来告诉Magento在调度该事件时运行一些代码,以及你想要运行的代码。

答案 1 :(得分:2)

您可以尝试sales_order_place_beforesales_order_place_after

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

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