2016-08-11 6 views
0

私はmagento 2でこのイベントsales_order_place_afterを聴きようとしていますが、場所の注文の後にnothingsが起こります(同じ観察者がログインのような別のイベントにリスニングするときに働きます)。 何が起こっているか考えてみましょうか? Thanxs。sales_order_place_after not magento 2

+0

コンテキストを追加できますか? –

+0

これでオブザーバがこのイベントに対応しました。チェックアウトデータを取得したいのですが、オブザーバをvar_dumpすると何も得られません。 –

+0

$ order = $ observer-> getEvent() - > getData(); $ order_content = json_encode($ order);私は{"注文":{"_ eavConfig":{}}、 "名前": "sales_order_place_after"} –

答えて

0

あなたはモジュールのアプリ\コードでオブザーバーを使用して、\ Vendorname \モジュール名\ ETC \フロントエンド\ events.xmlにこれを行うことができます -

<event name="checkout_onepage_controller_success_action"> 
    <observer name="mymodule_controller_success_action" instance="Vendorname\modulename\Observer\MyObserver" /> 
</event> 

とアプリは\ code \ Vendorname \モジュール名\ MyObserverインチPHPファイルの追加コード -

<?php 
namespace Vendorname\mudulename\Observer; 

use Magento\Framework\Event\ObserverInterface; 
use Magento\Framework\App\Request\DataPersistorInterface; 
use Magento\Framework\App\ObjectManager; 
use Magento\Captcha\Observer\CaptchaStringResolver; 

class MyObserver implements ObserverInterface 
{ 
     public function execute(\Magento\Framework\Event\Observer $observer) 
    { 
    $order = $observer->getEvent()->getOrder(); 
    echo $orderId = $order->getId(); 
    $comment = $this->getRequest()->getParam('comment'); 

    print_r("Catched event succssfully !"); exit; 

    echo "Do your Work Here"; 
    } 

}