美文网首页
MAGENTO中订单生成货物单时发送短信通知

MAGENTO中订单生成货物单时发送短信通知

作者: 帅马 | 来源:发表于2015-11-16 16:26 被阅读313次

1.首先有准备好的短信接口,能够使用
2.监听订单发货事件

*在对应的config.xml中加入订单发货监听时间:

    <adminhtml>
        <events>
            <sales_order_shipment_save_after>
                <observers>
                    <boc_receiveorder>
                        <type>singleton</type>
                        <class>boc/observer</class>
                        <method>sendShippmentMessage</method>
                    </boc_receiveorder>
                </observers>
            </sales_order_shipment_save_after>
        </events>
    </adminhtml>

*从订单中获取订单的发货地址,从发货地址中获取发货详细信息:

    public function sendShippmentMessage(Varien_Event_Observer $observer){

        $shipment = $observer->getEvent()->getShipment();
        $order = $shipment->getOrder();
        $orderIncrementId = $order->getIncrementId();
//        $orderDetail = Mage::getModel('sales/order')->load($orderIncrementId);

        $orders = Mage::getModel('sales/order')->getCollection();
        $orders->addAttributeToFilter('increment_id', $orderIncrementId);
        $orders->addAttributeToSelect('*');
        $orders->load();
        $alldata = $orders->getData();
        foreach($alldata as $alldatas){
//            $grand_total = $alldatas['grand_total'];
//            $increment_id = $alldatas['increment_id'];
            $shipping_address_id = $alldatas['shipping_address_id'];
        }

        /*order address*/
        $address = Mage::getModel('sales/order_address')->getCollection();
        $address->addAttributeToFilter('entity_id', $shipping_address_id);
        $address->addAttributeToSelect('*');
        $address->load();
        $address_alldata = $address->getData();
        foreach($address_alldata as $address_alldatas){
//            $street = $address_alldatas['street'];
//            $postCode = $address_alldatas['postcode'];
            $telephone = $address_alldatas['telephone'];
//            $cn_name = $address_alldatas['cn_name'];
//            $provinceId = $address_alldatas['cn_province'];
//            $cityId = $address_alldatas['cn_city'];
//            $districtId = $address_alldatas['cn_district'];

//            $city = Mage::getModel('cnregion/city')->load($cityId)->getName();
//            $district = Mage::getModel('cnregion/district')->load($districtId)->getName();

//            $provinceModel = Mage::getModel('cnregion/province')->load($provinceId);
//            $province = $provinceModel->getName();
        }

        if(preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/",$telephone)){
            $shipmentCollection = Mage::getResourceModel('sales/order_shipment_collection')
                ->setOrderFilter($order)
                ->load();

            foreach ($shipmentCollection as $shipment){

                foreach($shipment->getTracksCollection() as $tracknum)
                {
                    $tracknums=$tracknum->getNumber();//获取运单号
                    $tracktitles=$tracknum->getTitle();//获取运单名称
                }
            }
        }

}

相关文章

  • MAGENTO中订单生成货物单时发送短信通知

    1.首先有准备好的短信接口,能够使用2.监听订单发货事件 *在对应的config.xml中加入订单发货监听时间: ...

  • Magento订单邮件提醒

    magento订单邮件提醒 Magento有订单时,可以将订单邮件同时发送给其它邮箱。 我现在手机装了QQ邮箱软件...

  • 2018-09-14

    店铺/基础设置 店铺信息 设置商家信息、联系方式、营业时间、地址 短信通知 订单支付成功通知、订单生成通知、发货通...

  • 接入短信验证码接口没那么复杂,3分钟就搞定了

    生活中我们经常会接收到通知类短信,营销短信,验证码短信等。比如购物下单后的发货通知短信,购票后的订单通知短信信息、...

  • 跟我学微信小程序之五(云短信篇)

    发送短信在小程序中是一个常见功能,比如注册账号时发送验证码,发送短信通知等等,这些都需要用到云短信功能。使用腾讯云...

  • laravel 事件系统

    有一个明确的业务罗 创建订单 订单信息记录到数据库 发送邮件或者短信给用户订单生成到结果 一般性作废demo 一...

  • 深入分析order对象的cancel方法

    用户下单未付款,用户付款后申请取消,...,这些场景时我们需要取消magento中生成的订单,取消的方式如下: 这...

  • java中定时器的设置

    在java后台开发中,我们常常会碰到一种需求:定时任务,比如超时取消未支付订单、定时推送通知(发送短信)、定时清理...

  • 实现30分钟未支付则自动取消功能

    需求分析: 30分钟未支付则自动取消订单,订单生成60s后给用户发送短信延时任务的实现,与定时任务区别比较大。 延...

  • 构建一个基于CRUD式Web服务的简单咖啡订购系统

    首先将Order(订单)建模为资源 创建一个web应用 对资源(订单)的操作 在顾客点单时,生成订单。 订单会被频...

网友评论

      本文标题:MAGENTO中订单生成货物单时发送短信通知

      本文链接:https://www.haomeiwen.com/subject/anbkhttx.html