Giter VIP home page Giter VIP logo

cart-widget's Introduction

Корзинный виджет Яндекс.Доставки (пример использования)

Описание примера и документация:

https://github.com/Yandex-Delivery/Cart-Widget/wiki/Корзинный-виджет-Яндекс.Доставки

Примечание:

  • Для передачи данных между страницами используются cookie. Соответственно, для работы примера (в части создания заказа в ЛК Яндекс.Доставки) необходимо, чтобы cookie были включены.
  • Для работы примера необходимо получить код корзинного виджета в личном кабинете Яндекс.Доставки, и использовать его в обоих файлах (здесь и здесь)

cart-widget's People

Contributors

yandex-delivery avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cart-widget's Issues

Проблема с определением улицы

.data.errors.locality_name
locality_name:"При автодополнении улицы необходимо заполнить хотя бы одно из полей: locality_name, geo_id"
Город подсказки отображаются. Выбираю город. Второе поле улицы. как ни вводи вот такая ошибка. При чем подсказка всплывает но без ответов. Просто пустые ответы

Выбор той же курьерки с другим интервалом времени

Здравствуйте, нашел баг в корзинном виджете: если выбрать курьерскую службу с одним интервалом времени, затем попытаться выбрать эту же курьерскую службу с другим интервалом времени, модальное окно не закрывается.

Причина:
Строка 268
Файл https://delivery.yandex.ru/js/ydwidget_v2/cartWidget/cartWidget.js?v=1.1.4

Функция CartWidget.prototype.isTheSameDelivery
Не хватает условия на различия интервалов доставки, достаточно добавить в if() проверку
deliveryData.deliveryIntervalId == this.selectedDelivery.deliveryIntervalId

Сейчас этого условия нет и при выборе той же доставки с другим интервалом функция CartWidget.prototype.isTheSameDelivery возвращает true, поэтому функция CartWidget.prototype.setDeliveryVariant не меняет объект this.selectedDelivery и не триггерит событие "ydwidget.delivery.change", поэтому и окно не закрывается.

Проблема с autocomplete

Подскажите в чем может быть проблема.
В примере периодически перестает работать autocomplete и при этом при каждом нажатии на клавиатуре в консоли появляется ошибка.
XMLHttpRequest cannot load https://delivery.yandex-team.ru/openAPI_v3/autocomplete. The 'Access-Control-Allow-Origin' header has a value 'https://delivery.yandex-team.ru' that is not equal to the supplied origin. Origin 'null' is therefore not allowed access.
Первый скрин - нормальный запрос, второй - с ошибкой:
06
07

Сбой при загрузке данных о пунктах самовывоза

Для Москвы или любого другого крупного города виджет загружает очень много вариантов пунктов самовывоза, это занимает существенное время (для пользователя процесс загрузки выглядит так, как-будто виджет завис и уже не собирается работать). Если все-таки дождаться продолжения его работы, то информация в меню (левая часть модального окна виджета) выводится намного раньше, чем отображаются маркеры на карте. Так вот суть проблемы в том, что если не дождавшись отображения маркеров, нажать на какой-то вариант доставки в меню слева, то маркеры уже не отобразятся, а через меню этот вариант выбрать фактически невозможно (при нажатии ничего не происходит). Особенно это проявляется в FireFox(но не только) и на разных ОС.

Доставка почтой России.

Мой скрипт собирает данные с полей и вставляет их в поле доставки почты России. При оформление заявки выводи ошибку (index):328 Uncaught TypeError: Cannot read property 'street' of null
image

Если завести в это поле после города запятую, то все срабатывает

image

Как победить эту проблему?

Не могу добавить тут запятые
'cityEl': '#billing_city',
'streetEl': '#billing_address_1',
'houseEl': '#billing_address_2',
'indexEl': '#billing_postcode',

Есть такая строка
'setCity': function (city, region) { yd$('#billing_city').val(region ? city + ', ' + region + ', ' : city ) },

При вызове виджета с заполненным автокомплитом городом выдает левый город

combine.js?load=2c2p0e9Y0l;_1$,G90171!1*,F,E1:93,H1@1j951J1Z50$)1_555$0b0f9*2f9-9_9)9:9;2m9.2h9(0x0…:162 getCurrentPosition() and watchPosition() no longer work on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details. И вот такое предупреждение.
при тестировании пришел к том что
yd$('#city').val(); не отдает значение. хотя инпут такой есть

и автокомплит работает.

Отображение виджета data-ydwidget-open

Добрый день! Не найду информацию про параметры виджета. Нужно чтобы виджет сразу показывался на странице, а не по клику по чекбоксу

Добавить виджет в Покупку на Маркете

Сейчас магазин, если в него интегрирован виджет Яндекс.Доставки при подключении к "Покупке на Маркете" сталкивается с большими проблемами в лице модераторов Маркета.

  1. В виджете есть "Пункты самовывоза и постоматы", есть курьеры и почта. Если магазин передает в маркет доставку "Пункты самовывоза и постоматы" с типом Самовывоз, то они не покажутся (т.к. id метода должен совпадать с id пункта в маркете), а если его передавать с типом "Почта или транспортная компания" банит модератор маркета.
  2. Api доставки возвращает 2 почты с одинаковым названием "Почта", что опять банилось модераторами Яндекс.Маркета. Но это решилось припиской TarifName.

Самым лучшим решением было бы добавить виджет Яндекс.Доставки в Покупку на Маркете (интеграцию с Яндекс Кассой же сделали). Чтобы разработчиков миновал тот ад общения с поддержкой маркета.

Ошибка при выборе Почты России: Uncaught TypeError: Cannot read property 'street' of null

Использую пример из этого репа. Только свой скрипт из Кабинета вставил.

Сценарий:

  • если выбираю Самовывоз - все ок. Работает как надо.
  • если выбираю Почту России - то при нажатии на кнопку Выбрать, форма выбора не закрывается. При этом цена проставляется.

В консоли пишет ошибку:

Uncaught TypeError: Cannot read property 'street' of null
    at CartWidgetConfig.onDeliveryChange (checkout.html:57)
    at CartWidgetConfig.BaseConfig.callHook (baseConfig.js?v=1.1.8:104)
    at CartWidget.deliveryChangeHandler (cartWidget.js?v=1.1.8:164)
    at HTMLDocument.<anonymous> (cartWidget.js?v=1.1.8:57)
    at HTMLDocument.dispatch (jquery.modified.js?v=1.1.8:3076)
    at HTMLDocument.elemData.handle (jquery.modified.js?v=1.1.8:2753)
    at Object.trigger (jquery.modified.js?v=1.1.8:2989)
    at HTMLDocument.<anonymous> (jquery.modified.js?v=1.1.8:3679)
    at Function.each (jquery.modified.js?v=1.1.8:648)
    at init.each (jquery.modified.js?v=1.1.8:270)

Снимок:
image

переинициализация виджета

Нужно задавать новые параметры посылки (вес, ширина, высота) и каким-то образом подгружать для них актуальные способы доставки

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.