controller_action_predispatch
событий автоматически генерируются на основе маршрута или полного имени действия запроса.
Если вы выполните поиск по запросу controller_action_predispatch
, вы обнаружите, что эти события отправляются в Magento\Framework\App\Action\Action::dispatch(RequestInterface)
.
/checkout/cart/couponPost
находится в Magento\Checkout\Controller\Cart\CouponPost
, который является контроллером /rest/default/V1/carts/mine/coupons/{coupon}
- это не контроллер, а REST API, поэтому он «расположен» в /vendor/magento/module-quote/etc/webapi.xml
и определяет конечную точку «/V1/carts/mine/coupons/:couponCode
, которая, в свою очередь, ссылается на Magento\Quote\Api\CouponManagementInterface::set(int, string)
.
Если вы хотите, вы можете написать плагин для Magento\Quote\Api\CouponManagementInterface::set(int, string)
, но, не зная вашего точного варианта использования, я не могу сказать, хорошее ли это решение или вам может быть лучше с другим событием или наблюдателем.