пункты самовывоза

Ольга

Добрый день,

Делаю плагин доставки, который цепляет с сайтов нужных нам курьерских компаний пункты самовывоза по региону/городу клиента и выводит все это дело выпадающим списком (как сейчас реализованы плагины самовывозов). Все прекрасно работает, но столкнулась с таким моментом: так как пункты подгружаются напрямую с сайтов компаний, то их состав может меняться (что-то закрылось/открылось). Так вот при редактировании заказа в бэкенде выбранный пункт самовывоза слетает, если их состав или порядок изменился. Как я понимаю, магазин привязывает заказ к пункту по его порядковому номеру, и соответственно если пункты изменились, то и при редактировании подставляется пункт с нужным порядковым номером и заказ уезжает не туда, если менеджер не заметил изменения..

Подскажите пожалуйста, как можно изменить эту систему? Я пока думаю дублировать пункт в поля адреса доставки при оформлении заказа, но это тоже не выход и неудобно для менеджеров. Может в исходном коде что поменять?

23 марта 2017
  • Syrnik.com 24 марта 2017 01:26

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

    return [
       'POINT_XYZ' => [ 'rate'=>100, 'name'=>'пункт 1' ]
       'POINT_A01' => ['rate'=>200, 'name'=>'пункт 2']
    ];
    

    Очень важно! Никогда-никогда не возвращайте в массиве вариантов вариант с нулевым индексом. Это давний баг особенность.

    Так делать не надо (первый элемент будет с нулевым индексом):

    return [
        ['rate'=>100, 'name'=>'пункт 1']
        ['rate'=>200, 'name'=>'пункт 2']
    ];
  • Ольга 24 марта 2017 14:52

    Сергей, большое спасибо!

Добавление новых комментариев к этой теме отключено.