Magento在创建发货时发送短信

时间:2013-07-04 06:22:11

标签: php magento magento-1.7

过去两天敲了敲我的脑袋却无法实现这一目标。帮助!

每当发送货件电子邮件时,我想触发一个代码,该代码将向客户发送短信通知他/她已下达其订单并传达跟踪号码。

代码将是这样的:

<?php 
$url = "http://www.abcde.in/binapi/pushsms.php?usr=xyz&pwd=abc&sndr=MEGYTR&ph=8888829554&text=This is test. MegaYtr&rpt=1";
$result = file_get_contents($url);
?>

问题: 1)从哪里运行此代码?

2)如何获得订单号,客户名称,总计&amp;追踪号码。我做过类似的事情,当客户下订单时发送短信,我使用了这段代码:

$order_id = Mage::getSingleton('checkout/session')->getLastRealOrderId();
$order_details = Mage::getModel('sales/order')->loadByIncrementId($order_id);
$shipping_address_data = $order_details->getShippingAddress();
$first_name = $shipping_address_data['firstname'];
$telephone = $shipping_address_data['telephone'];
$amount_paid = $order_details->total_paid;
$message = 'Dear '.$first_name.' thank you for shopping at abc.com. Your order'.$this->getOrderId().' amounting to Rs.'.$amount_paid.'is being processed.';
echo '<b>'.$message.' Please check your email for further details.</b>';

我正在使用Magento Community 1.7.0.1。

1 个答案:

答案 0 :(得分:1)

试试这个

我想给你一个简单的解决方案,而无需修改核心文件。 为此,您需要为SuccessAction创建一个观察者,这是在订单成功时将触发您的代码的事件

checkout_onepage_controller_success_action

这将帮助您为上述事件create observer using this

创建观察者

我想添加的另一件事是在位置Mage/Checkout/OnepageController的控制器中搜索successAction,这是在订单成功时处理的Action。如果您对240发表评论,而不是一次又一次地下订单,那么就行$session->clear();,只需刷新页面即可查看更改。

最后,上面的FYI事件将通过使用您可以加载订单对象来发送orderId,为此,下面是代码

//load order object
$_order = Mage::getModel('sales/order')->loadByIncrementId($order_id_from_observer);