Невозможно установить индекс для шага детальная информацимя в новом оформлении заказа Принято

0

В новом оформление заказа невозможно установить индекс если выключена галочка - запрашивать индекс вместе с городом

Код на основании документации:

//На основе документации https://developers.webasyst.ru/cookbook/contacts-app-integration/ 
$address = $contact->get('address.shipping'); 
$address[0]['data']['country'] = 'rus'; 
$address[0]['data']['city'] = $city; 
$address[0]['data']['region'] = $region; 
$address[0]['data']['zip'] = $zip;

Устанавливает zip (на шаге детальной информации) только если пользователь авторизован, в противном случае zip на шаге детальной информации не появляется

Пробовали работать напрямую:

$data = wa()->getStorage()->get('shop/checkout'); 
...
$details = !empty($data['order']['details']) ? $data['order']['details'] : array();

            if (empty($details['shipping_address'])) {
                $details['shipping_address'] = array('zip' => $zip);
            } else {
                $details['shipping_address']['zip'] = $zip;
            }

            $data['order']['details'] = $details;

wa()->getStorage()->set('shop/checkout', $data);

Так-же не срабатывает

При разработке нового оформления заказа была обещана документация и api, в связи с этим просим разъяснить механизм сохранения данных в новом оформлении заказа

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

  • +1
    Владислав Горлов Владислав Горлов Webasyst 5 сентября 2019 19:07 #

    Речь идёт о предварительном заполнении адреса покупателя в корзине до ввода им данных?

    • +1
      Александр Тарасенко Александр Тарасенко 5 сентября 2019 19:40 #

      Да все верно, в нашем плагине Автоопределение и выбор города когда происходит определение города или выбор города пользователем - необходимо эту информацию "сохранить" чтобы она учитывалась при переходе покупателя в корзину.

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

      В корзине мы пробовали два варианта:

      1) При изменение города - плагин отправляет ajax на бакэнд (там плагин сохраняет данные) и по возвращенному результату происходит перезагрузка оформления заказа через change на поле город

      2) При изменение города - плагин добавляет поле hidden с полученным значением индекса в дом документ формы и происходит перезагрузка оформления заказа через change на поле город

      К сожалению индекс не сохранялся ни в одном из вариантов

      Второй вариант для нас более предпочтителен так как меньше ajax запросов

    • 0
      enso_studio@mail.ru enso_studio@mail.ru 19 августа 2019 14:32 #

      в твоем плагине zip не является обязательным полем для заполнения, с магазином все норм.

      • 0
        Александр Тарасенко Александр Тарасенко 19 августа 2019 15:56 #

        Во первых, не ты, а вы, научитесь уже вежливости в конце концов

        Во вторых, Вы как обычно, написали первое что пришло вам в голову чтобы принизить собеседника, даже не разобравшись в ситуации. О каком плагине вообще идет речь? О доставке «Почта России»? При чем тут обязательное, не обязательное поле?

        Просьба была разъяснить механизм хранения информации в новом оформление заказа, если нечего сказать по существу - зачем вообще что то писать?

        • 0
          enso_studio@mail.ru enso_studio@mail.ru 19 августа 2019 18:16 #

          по существу ты должен был написать где данный код вызывается, а то наш штатный предсказатель в отпуск ушел. адреса заказа на удивление храняться храняться в заказе, а $contact->get('address.shipping') используется только для автозаполнения при повторном заказе и не факт что это будет первый адрес в списке. и это не какая-то фича нового оформления.

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

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