Кратко: плагин доставки Курьер при запросе полей (с уже имеющимися данными) не учитывает настройку скрыть поля на шаге контактных данных
Подробно:
Задача довольно стандартная (как казалось)
На первом шаге оформления запрашивать только область и город, а непосредственно адрес доставки (улицу и т.д.) уточнять уже в плагине доставки, так как не всем плагинам доставки нужен адрес (самовывоз, ПВЗ)
Настроили:
Контактная информация - https://yadi.sk/i/JyABVQ6-3RRMVv
Доставка - https://yadi.sk/i/x2sHDmut3RRMdQ
Плагин курьер - https://yadi.sk/i/KRoNReBG3RRNNt
И даже вроде все заработало:


НО! стоит хоть что-то ввести в это поле и перейти на следующий шаг, а потом вернуться, то все плагин больше ничего не запрашивает

А вот почта России добросовестно все запрашивает:

И даже больше, если уже оформить заказ и начать заказывать новый, адреса не будет. То-есть при такой настройке пользователь может ввести улицу только один раз )
Скорее всего из-за чего это происходит, Когда мы переходим на следующий шаг, улица сохраняется в адрес пользователя и когда мы опять открываем шаг доставки, плагин не выводить поля так как считает что улица была введена ранее на шаге контактных данных, и запрашивать ее повторно не нужно. НО плагин не учитывает что улица скрыта на шаге контактные данные!
9 комментариев
подпишусь, есть такое
Уважаемые разработчики webAsyst, хотелось бы услышать от вас решение: будет ли это устранено в обновлении или нет, так как сайт сдавать нужно, и нужно понимать ждем обновление или делаем свой костыль (что очень не хотелось бы)
Передал разработчикам ваше сообщение. Если будет от них совет, как справиться с ситуацией при текущей логике плагина, то добавлю его здесь.
Если в ближайшее время совета не будет, то тогда стоит начинать пробовать справляться своими силами.
видимо решение одно - не скрывать адрес даже если он был введен :)
Либо как минимум сделать кнопку редактировать
Еще информация, теперь уже по плагину "Почта России"
Если создать заказ с созданием учетной записи, то при оформление второго заказа ни курьер, ни Почта России не запрашивают адреса.
Пожалуйста исправьте
Сообщения о разных ошибках и разных программных продуктах лучше оформлять отдельно, чтобы не было путаницы. Ваше сообщение не пропустят случайно, если оно будет в виде отдельной темы, а не комментария к другой теме.
Как оказалось ошибка не в конкретном плагине, а в классах оформления заказа:
/wa-apps/shop/lib/classes/checkout/shopCheckoutShipping.class.php
метод getAddressForm, прикладываем решение для передачи разработчикам для дальнейшего тестирования и включения в основную ветку
после 300 строки добавить:
и 394 заменить на
if ((empty($contact_address[$k])) || (isset($_always_need[$k]))) {
общий скрин изменений:

Можем сделать pull-request, но если только его хотя бы рассмотрят, а не будет висеть без дела полгода?Ваш код не чинит эту проблему=( И при этом может нарушить работу других плагинов доставки
На сайте клиента заработал, но конечно мы могли решить проблему слишком поверхностно.
Очень надеемся что проблема будет решена и выпущена в обновлении