2016-05-22 7 views
0

Я пытаюсь отправить sms-уведомление клиенту после создания отправки.Magento 2 event/observer для создания отправки

В M1 я могу сделать с этим событием:

<sales_order_shipment_save_after> 

Но в Magento 2 нет события запуска после создания отгрузки.

Может кто-нибудь посоветует мне, пожалуйста?

ответ

2

вы можете использовать sales_order_shipment_save_after событие

для этого вам нужно создать файл и т.д./events.xml, чтобы определить ваше событие

<?xml version="1.0"?> 
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd"> 
    <event name="sales_order_shipment_save_after"> 
     <observer name="emizentechshipment" instance="Emizentech\MyModule\Observer\ProcessShipment" /> 
    </event> 
</config> 

, чем вам нужно создать наблюдатель \ ProcessShipment.php файл

<?php 
namespace Emizentech\MyModule\Observer; 

use Magento\Framework\Event\ObserverInterface; 

class ProcessShipment implements ObserverInterface 
{ 
    /** 
    * 
    * @param \Magento\Framework\Event\Observer $observer 
    * @return $this 
    */ 
    public function execute(\Magento\Framework\Event\Observer $observer) 
    { 
     $shipment = $observer->getEvent()->getShipment(); 
     $order = $shipment->getOrder(); 
     // your code for sms here 
    } 
} 
+0

Большое спасибо Emizen, но это не работает, я вещь '' 'sales_order_shipment_save_after''' не запускает totall y, я попробовал это в двух случаях: 1-etc/events.xml 2-etc/adminthtml/events.xml и в обоих из них он не запускается. –

+0

@ Emadjag работает отлично, дайте мне знать, если вы получаете какие-либо проблемы. . Уверяйте, что очистили кеш из: bin/magento cache: clean –

+0

Спасибо большое, Emizen, он отлично работает, после слишком многого, yours.Thanks снова –