0

過去2日間、頭を悩ませましたが、これを達成できませんでした。ヘルプ!!

発送メールが送信されるたびに、注文が発送されたことを知らせるSMSを顧客に送信し、追跡番号も通知するコードをトリガーしたいと考えています。

コードは次のようになります。

<?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) 注文番号、顧客名、総計、追跡番号などの追加情報を取得するにはどうすればよいですか。このコードを使用して、顧客が注文したときに SMS を送信するために同様のことを行いました。

$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 を使用しています。

4

1 に答える 1

1

これを試して

コア ファイルを変更する必要のないシンプルなソリューションを提供したいと思います。そのためには、以下のオブザーバーを作成する必要がありますSuccessAction。これは、注文が成功したときにコードをトリガーするイベントです

checkout_onepage_controller_success_action

これは、上記のイベントのオブザーバーを作成するのに役立ちますこれを使用してオブザーバーを作成します

もう 1 つ追加したいのは、コントローラのロケーション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 に答える