#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-модуль?