Плагин Курьер - пропадает адрес Принято

2

Кратко: плагин доставки Курьер при запросе полей (с уже имеющимися данными) не учитывает настройку скрыть поля на шаге контактных данных


Подробно:

Задача довольно стандартная (как казалось)

На первом шаге оформления запрашивать только область и город, а непосредственно адрес доставки (улицу и т.д.) уточнять уже в плагине доставки, так как не всем плагинам доставки нужен адрес (самовывоз, ПВЗ)

Настроили:

Контактная информация - https://yadi.sk/i/JyABVQ6-3RRMVv

Доставка - https://yadi.sk/i/x2sHDmut3RRMdQ

Плагин курьер - https://yadi.sk/i/KRoNReBG3RRNNt

И даже вроде все заработало:

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

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


И даже больше, если уже оформить заказ и начать заказывать новый, адреса не будет. То-есть при такой настройке пользователь может ввести улицу только один раз )

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







9 комментариев

  • +1

    Еще информация, теперь уже по плагину "Почта России"

    Если создать заказ с созданием учетной записи, то при оформление второго заказа ни курьер, ни Почта России не запрашивают адреса.

    Пожалуйста исправьте

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 16 января 2018 15:14 #

      Сообщения о разных ошибках и разных программных продуктах лучше оформлять отдельно, чтобы не было путаницы. Ваше сообщение не пропустят случайно, если оно будет в виде отдельной темы, а не комментария к другой теме.

    • +1

      подпишусь, есть такое

    • +1

      Уважаемые разработчики webAsyst, хотелось бы услышать от вас решение: будет ли это устранено в обновлении или нет, так как сайт сдавать нужно, и нужно понимать ждем обновление или делаем свой костыль (что очень не хотелось бы)

    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 15 января 2018 11:50 #

      Передал разработчикам ваше сообщение. Если будет от них совет, как справиться с ситуацией при текущей логике плагина, то добавлю его здесь.

      Если в ближайшее время совета не будет, то тогда стоит начинать пробовать справляться своими силами.

    • +1

      Как оказалось ошибка не в конкретном плагине, а в классах оформления заказа:

      /wa-apps/shop/lib/classes/checkout/shopCheckoutShipping.class.php

      метод getAddressForm, прикладываем решение для передачи разработчикам для дальнейшего тестирования и включения в основную ветку

      после 300 строки добавить:

      $_always_need = array();
      if ((isset($config['contactinfo']['fields']['address'])) && (isset($config['contactinfo']['fields']['address.shipping']))) {
      
          foreach ($config['contactinfo']['fields']['address']['fields'] as $key=>$field){
              if (!isset($config['contactinfo']['fields']['address.shipping']['fields'][$key])){
                  $_always_need[$key] = $field;
              }
          }
      }
      

      и 394 заменить на

      if ((empty($contact_address[$k])) || (isset($_always_need[$k]))) {

      общий скрин изменений:

      Можем сделать pull-request, но если только его хотя бы рассмотрят, а не будет висеть без дела полгода?


      Добавить комментарий

      Чтобы добавить комментарий, зарегистрируйтесь или войдите