Magento2中Observer不能正常触发的问题

更新

我在 REST 接口中触发是一个事件,但是相对应的 Observer 并没有触发,也没有异常错误日志。 但是通过页面来触发这个事件,Observer 是正常的,找了相关资料,原来 rest 接口的事件配置文件(event.xml),需要单独放在 webapi_rest 目录下,同 rest 接口的 di 配置一样。

在 Magento中,一个模块可以有多个 events.xml 文件:

| Location | Where do the handlers are triggered | | :--------------------------- | :----------------------------------------------------------- | | etc/events.xml | Everythere. | | etc/adminhtml/events.xml | In admin interface only. | | etc/frontend/events.xml | In frontend interface only. | | etc/crontab/events.xml | While handling scheduled ([cron][4]) jobs only. | | etc/setup/events.xml | While Magento or extensions are being [installed][6] or [upgraded][7]. | | etc/webapi_rest/events.xml | While handling [REST][9] [API][10] requests. | | etc/webapi_soap/events.xml | While handling [SOAP][12] [API][13] requests. |