Вывод на карту точек пунктов самовывоза по координатам при оформлении в корзине.

В документации по плагинам доставки написано, что в случае если элемент type, в массиве возвращаемых значений равен TYPE_PICKUP, то в массиве должен присутствовать элемент 'custom_data'  в который входят доп элементы в том числе 'lat' и 'lng' широта и долгота координат пункта самовывоза... В файле map.html , который выводит карты и данные по пунктам самовывоза в строке 63 стоит проверка :

{if !empty($_variant.custom_data) && !empty($_variant.custom_data[$_variant.type])}

и далее присвоение :

{$_custom_data = $_variant.custom_data[$_variant.type]}


В данном случае $_variant.type равняется pickup, но в документации нет элемента 'pickup' внутри подмассива 'custom_data'! Мало того, затем переменная $_custom_data  проверяется на наличии элементов, которые должны находиться в 'custom_data' а ей присвоено содержимое элемента 'custom_data.pickup', естественно ни чего не находиться... Каким образом должно формироваться содержимое элемента 'custom_data.pickup' для нормальной работы данного функционала?

2 ответа

  • 0
    enso_studio@mail.ru 28 февраля 2019 20:40 #

    не написано там такого, читай внимательно

    • +1
      Alexei_D Alexei_D 28 февраля 2019 21:54 #

      Спасибо за подробный ответ! 

      Такого это какого?

      • 0
        enso_studio@mail.ru enso_studio@mail.ru 3 марта 2019 18:23 #
        В зависимости от типа доставки, указанного в элементе 'type', в массиве должен присутствовать также элемент с ключом 'custom_data' с массивом дополнительных данных о возвращаемом варианте доставки:
            waShipping::TYPE_PICKUP:
                id string: идентификатор
                lat float: широта координат
                lng float: долгота координат
        abstract class waShipping extends waSystemPlugin
        {
            const TYPE_TODOOR = 'todoor';
            const TYPE_PICKUP = 'pickup';
            const TYPE_POST = 'post';

  • 1
    Павел Иванов 20 февраля 2021 14:59 #

    Нашелся ответ в итоге?

    [
    ....
    'type' => waShipping::TYPE_PICKUP,
    'custom_data' => array(
    				'id' => $point['id'],
    				'lat' => $point['latitude'],
    				'lng' => $point['longitude'],
                                    )
    ]

    тем ни менее точки не выводятся на карте.

    • +1
      Павел Иванов Павел Иванов 20 февраля 2021 16:43 #

      Оказалось нужно так пффф.



      [
      ....
      'type' => waShipping::TYPE_PICKUP,
      'custom_data' => [waShipping::TYPE_PICKUP => array(
                                      'id' => $point['id'],
                                      'lat' => $point['latitude'],
                                      'lng' => $point['longitude'],
                                      )
                                 ]
      ]

Добавить ответ

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