2016-08-11 3 views
0

magento 2에서 sales_order_place_after라는 이벤트를 듣고 싶습니다.하지만 주문 후 클릭 할 때 아무 일도 일어나지 않습니다 (로그인과 같은 다른 이벤트에 등록 할 때 동일한 관찰자가 작동 함). 무슨 일이 일어나고 있는지 알고 싶습니까? 고맙습니다. \ Vendorname \ 모듈 이름 \ MyObserversales_order_place_after not magento 2

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

및 응용 프로그램의 \ 코드 -

+0

문맥을 조금 더 추가 할 수 있습니까? –

+0

이제 관찰자가이 이벤트에 대해 작업하지만 체크 아웃 데이터를 가져오고 싶습니다.하지만 관찰자를 var_dump 할 때 아무 것도 얻지 못합니다. –

+0

$ order = $ observer-> getEvent() -> getData(); $ order_content = json_encode ($ order); { "주문": { "_ eavConfig": {}}, "이름": "sales_order_place_after"} –

답변

0

당신은 Vendorname \ 모듈 이름 \ 등 \ 프론트 엔드 \ events.xml \ 모듈 응용 프로그램의 \ 코드에서 옵저버를 사용하여이 작업을 수행 할 수 있습니다. 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"; 
    } 

}