Prestashop 1.7 получить текущий шаг в процессе оформления заказа

#prestashop #prestashop-1.7

#prestashop #prestashop-1,7

Вопрос:

Веб-сайт PS, который мы пытаемся настроить, должен доставляться только в одном штате из определенной страны, но должен разрешать выставление счетов в любую страну мира. Для этого мне удалось ограничить страну только одной, а затем с помощью кода изменить поведение выпадающего списка штатов следующим кодом:

 public function getFormat() {  $format = parent::getFormat();  $format['id_state']-gt;setAvailableValues(  [999 =gt;'CustomState'],  ); }  

Код был помещен в переопределение CustomerAddressFormatterCore , но его использование таким образом также ограничит состояние выставления счетов только одним. Теперь мы пытаемся запечатлеть этапы процесса оформления заказа и до сих пор без какого-либо успеха

Я видел, что PS 1.7 использует функцию класса CheckoutProcess public function getCurrentStep() , кто-нибудь знает, как ее использовать внутри переопределения CustomerAddressFormatterCore ? Это правильный подход? Есть ли какое-нибудь другое лучшее решение?

Спасибо!

Ответ №1:

Нет четкого различия в том, что адрес X является платежным, а адрес Y-адресом доставки, и я боюсь, что проверка того, находитесь ли вы в контексте этапа оформления заказа, вам не поможет.

В большинстве случаев один адрес используется как для доставки, так и для выставления счета. Если кто-то захочет отредактировать определенный адрес, у вас будет информация об этом в $_GET параметрах. Если вы не используете сторонний OPC-модуль?