requestedAddressFields в backend-е не выполняется?
Хотел проверить прямо в этой функции откуда поступил запрос
Вписал
public function requestedAddressFields() { wa_dump(wa()->getEnv()); // не отработало }
Метод requestedAddressFields в плагине доставки не учитывается в backend-е ?
Как тогда в backend-е убрать лишние поля для разных вариантов доставки?
6 ответов
Покажите пример, где, что и в каком случае вам нужно убрать.
При создании заказа в админке заполняем поля адреса, при выборе доставки курьером хотелось бы убрать отдельные поля адреса (и это только в админке), а для других вариантов доставки - оставить.
Как я понял метод requestedAddressFields вызывается только из frontend
Насколько я помню, в Shop-Script так реализовано потому, что некоторым пользователям нужно иметь возможность заполнять любые поля адреса независимо от настроек способа доставки. Ситуации бывают разные, и иногда нужно иметь "суперспособности" для разных экстренных случаев.
Это правильно.
Только вот как узнать, какие поля адреса нужны для пред.расчета доставки, а какие нет, вот и хотелось отделить эти поля в админке, а во frontend-е оставить.
Посмотрите, как это сделано в классе wa-apps/shop/lib/classes/checkout/shopCheckoutShipping.class.php, где в методе getAddressForm() вызывается метод requestedAddressFields() указанного плагина доставки.
Этот (getAddressForm) метод выполняется только в frontend-е. Уже разобрался, спасибо. В старой версии баг с переключением отображения пункта полей в backend-е и сортировкой.