2016-05-22 10 views
0

Ich versuche, SMS-Benachrichtigung an den Kunden nach dem Erstellen der Sendung zu senden.Magento 2 Event/Beobachter für die Erstellung der Sendung

In M1 ich, dass mit diesem Ereignis tun:

<sales_order_shipment_save_after> 

Aber in magento 2 gibt es kein Ereignis nach dem Versand erstellen auszulösen.

Kann mir bitte jemand raten?

Antwort

2

können Sie sales_order_shipment_save_after Ereignis

hierfür verwenden Sie etc/Events.xml-Datei erstellen Ihre Veranstaltung

<?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> 

zu definieren, als Sie Observer \ ProcessShipment.php

-Datei erstellen müssen
<?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

Vielen Dank Emizen, aber es funktioniert nicht, ich ding '' 'sales_order_shipping_save_after''' nicht auslösen totall y, ich habe es in zwei Fällen versucht, 1-etc/events.xml 2-etc/adminthtml/events.xml und in beiden von ihnen wird es nicht ausgelöst. –

+0

@Emadjag es funktioniert perfekt, lassen Sie mich wissen, wenn Sie irgendwelche Probleme bekommen Stellen Sie sicher, Cache zu löschen von: bin/magento Cache: sauber –

+0

Vielen Dank Emizen, es funktioniert gut, nach dem Versuch zu viel mein Selbst habe ich Lösung aus deins. Danke nochmal –