
我在 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. |