Вы здесь

Как завершить заказ при переходе на страницу checkout/complete?

0

В 7-ке при переходе на страницу завершения заказа - статус заказа самостоятельно выставлялся в Complete. А как это сделать в 8-ке и Commerce 2?

Можно написать Event Subscriber, но он срабатывает только когда статус заказа обновляется. При этом обновления статуса не происходит при переходе на страницу завершения заказа. Хука по этому поводу тоже не нашёл...

Версия Drupal: 
8.x
Связанные проекты: 
Drupal Commerce
Вопрос задан 04.06.2018 - 12:47
Аватар пользователя shu
shu
163

Ответы

0

Проблема оказалась в том, что я сделал у заказа 1 шаг.

Создателями commerce 2 предполагалось, что шага будет, как минимум два: оплата и завершение заказа. То есть размещение заказа и обновление его статуса происходит только, если изменился шаг оформления заказа с любого на 'complete'(это можно посмотреть в методе CheckoutFlowBase::onStepChange($step_id)).

В итоге сделал свою панель, имитирующую оплату заказа. После клика на кнопку оформления заказа в корзине идёт переход на шаг с этой панелью, а потом редирект на завершение заказа.

Ответ дан 12.06.2018 - 12:15
Аватар пользователя shu
shu
163