过去两天敲了敲我的脑袋却无法实现这一目标。帮助!
每当发送货件电子邮件时,我想触发一个代码,该代码将向客户发送短信通知他/她已下达其订单并传达跟踪号码。
代码将是这样的:
<?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。
答案 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);