0

在过去的两天里一直在敲我的头,但无法做到这一点。帮助!!

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

代码将是这样的:

<?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) 我如何获取订单号、客户名称、总计和跟踪号等其他信息。当客户下订单时,我使用以下代码发送短信时做了类似的事情:

$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 社区 1.7.0.1。

4

1 回答 1

1

尝试这个

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

checkout_onepage_controller_success_action

这将帮助您为上述事件创建观察者使用此创建观察者

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

最后仅供参考,上面的事件将通过使用您可以加载订单对象来调度orderId,为此,下面是代码

//load order object
$_order = Mage::getModel('sales/order')->loadByIncrementId($order_id_from_observer);
于 2013-07-04T07:29:02.623 回答