【发布时间】:2013-09-24 04:48:59
【问题描述】:
我有一个用于电子商务的 magento 网站。下订单后,我需要调用我在新 php 文件中创建的另一个函数,并将订单 skus、数量和送货地址传递给。我对 php 非常满意,但 Magento 对我来说是一个全新的野兽。
有谁知道下单时如何调用函数?即使只是活动的名称也会有所帮助。
【问题讨论】:
标签: php magento events e-commerce
我有一个用于电子商务的 magento 网站。下订单后,我需要调用我在新 php 文件中创建的另一个函数,并将订单 skus、数量和送货地址传递给。我对 php 非常满意,但 Magento 对我来说是一个全新的野兽。
有谁知道下单时如何调用函数?即使只是活动的名称也会有所帮助。
【问题讨论】:
标签: php magento events e-commerce
我没有亲自使用过它,但sales_order_place_after 听起来可能就是您要找的东西。在this Inchoo article中就是这样使用的,也就是下单就做一些事情。
Here's a page on the Magento wiki about setting up an event observer,这实际上只是一个小 XML,用于告诉 Magento 在分派该事件时运行一些代码,以及您要运行的代码。
【讨论】:
你可以试试sales_order_place_before和sales_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 中
【讨论】: