【问题标题】:Programmatically send SMS to customers when a order delivery status is changed当订单交付状态发生变化时,以编程方式向客户发送 SMS
【发布时间】:2013-06-29 11:13:06
【问题描述】:

当我从管理面板更改订单交付状态,从印度购买短信服务时,我想向客户发送通知短信

【问题讨论】:

标签: magento sms


【解决方案1】:

您需要检查订单状态以进行更改 - 没有此事件,因此您需要:

事件:sales_order_load_after 获取加载后的订单状态 方法:

public function fetchOrderStatus(Varien_Event_Observer $observer){
    try{
      if (!Mage::registry('cartware_order_status')){
        Mage::register('cartware_order_status', $observer->getOrder()->getStatus());
      }
    }
    catch (Exception $e){
      Mage::logException("UNEXPECTED PROBLEM WIH REGISTER");
      Mage::logException($e);
    }
    return;
  } 

事件:sales_order_save_after保存后获取订单状态: 方法:

public function checkOrderStatus(Varien_Event_Observer $observer){
    try{
      if(!Mage::registry('cartware_order_status')){
        return;
      }else{
        $orderStatus = Mage::registry('cartware_order_status');
      }
    }
    catch (Exception $e){
      Mage::logException("UNEXPECTED PROBLEM WIH REGISTRY");
      Mage::logException($e);
    }

    if ($orderStatus != $observer->getOrder()->getStatus() &&
    $observer->getOrder()->getStatus() == [STATUS YOU WANT TO REACT IF CHANGE TO]){
       sendYourSmsMethod();
    }
  } 

祝你好运!

【讨论】:

  • 更短的方法可能是使用事件:sales_order_resource_save_attribute_after
  • 嗨,Mischa,感谢您的快速回答。对不起,我对 Magento 有点陌生,在核心 php 中工作,你能进一步指导我如何准确地以及在哪里使用这些方法和事件吗?
猜你喜欢
  • 1970-01-01
  • 2015-05-10
  • 1970-01-01
  • 1970-01-01
  • 2015-12-08
  • 1970-01-01
  • 2019-04-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多