我需要在购物车上添加事件以添加/删除优惠券。我创建了事件侦听器controller_action_predispatch_checkout_cart_couponPost,这在page - /checkout/cart/上工作得很好。但在下一页- /checkout/#payment这不起作用。我找不到要添加侦听器的事件。
我该怎么做呢?
发布于 2020-06-19 02:42:45
根据请求的路由或完整操作名称自动生成controller_action_predispatch事件。
如果您搜索controller_action_predispatch,您会发现这些事件是在Magento\Framework\App\Action\Action::dispatch(RequestInterface)中分派的。
/checkout/cart/couponPost位于controller/rest/default/V1/carts/mine/coupons/{coupon}不是控制器而是REST API的Magento\Checkout\Controller\Cart\CouponPost中,正因为如此,它被“定位”在/vendor/magento/module-quote/etc/webapi.xml中,并定义了"/V1/carts/mine/coupons/:couponCode端点“,而后者又引用了turn如果你愿意,你可以为Magento\Quote\Api\CouponManagementInterface::set(int, string)编写一个插件,但是在不知道你的具体用例的情况下,我不能说这是不是一个好的解决方案,或者如果你使用另一个事件或观察者可能会更好。
https://stackoverflow.com/questions/62450788
复制相似问题