У меня следующая проблема:
Во время оформления заказа мой клиент должен указать свой платежный адрес (по крайней мере, в первый раз), чтобы рассчитать ставку НДС и цену брутто. После этого дальнейший расчет выполняется через процессор заказов. Пока это работает нормально.
Моя проблема в том, что обновление заказа в корзине не обновляет панели проверки (например, сводку заказа) через AJAX, когда страна выставления счета (и, возможно, действующая ставка НДС тоже) изменилась.
Пользователь должен активно перезагружать страницу в браузере или должен отправить форму, чтобы увидеть эффект, даже если заказ уже был обновлен (и пересчитан) за кулисами.
- Как я могу принудительно обновить корзину и пересчитать ее с помощью моего пользовательского обработчика заказов, независимо от интервала обновления заказа в корзине?
- Как я могу запустить перезагрузку для своих панелей оформления заказа (в лучшем случае через AJAX из-за лучшего UX), чтобы пользователь вовремя увидел изменения?
Я узнал, что в D7 были хуки для этого, но в D8/D9 хуки и сервисы, кажется, больше не существуют (например, commerce_cart_order_refresh()
- видеть: Как я могу программно пересчитать сумму заказа после изменения страны выставления счета ).