Доработка плагина Яндекс.Маркет Выполнено

33

С 11.02.2016 Яндекс ввёл новый элемент <delivery-options>. Важный атрибут days — срок доставки в рабочих днях. Так как его у нас нет, яндекс выставил сроки доставки по умолчанию, а это 5-19 дней, в партнёрском интерфейсе срок доставки не указывается.

Ссылка на обновление: https://yandex.ru/support/partnermarket/elements/d...

<delivery-options>

<option cost="ваша стоимость доставки" days="количество дней"/>

</delivery-options>

Предлагаю голосовать!

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

  • +2
    Николай Дьячков Николай Дьячков 13 марта 2016 01:44 #

    Вот! Уже лучше, продолжаем голосовать, вместе сможем.

  • +2
    Николай Дьячков Николай Дьячков 14 марта 2016 13:37 #

    9 голосов. Надо 20! Нажимайте на зеленую стрелку вверх!

    • +3

      :) Думаю они и без голосовая доработают

      • +2
        Николай Дьячков Николай Дьячков 14 марта 2016 14:32 #

        Благодарю Сергей, но надо уже, а то заказы упали изза того что срок доставки 5-20 дней стоит.

        • +1

          Это как-то от тематики зависит? Зашел посмотрел предложения клиента, к аккаунту на Маркете которого у меня есть доступ, там ниникаких 5-20 дней нет.

          • +1
            Николай Дьячков Николай Дьячков 15 марта 2016 00:16 #

            Может это гдето выставить можно, я не нашёл. У многих пишется 2-16 или 5-20, фигня какая то

          • +1
            Николай Дьячков Николай Дьячков 15 марта 2016 02:21 #

            А это как у меня видно:

            • +1

              Только предположение

              2 дня -- в наличии, счётное количество товара
              5-19 дней -- под заказ, бесконечность на складе

            • +3

              В партнёрском интерфейсе маркета, зайдите в настройки -> параметры размещения -> график работы службы доставки в своём регионе. В 1 и 2 пункте отметете когда НЕ производится доставка.

              • +1
                Николай Дьячков Николай Дьячков 20 марта 2016 12:50 #

                А вот это точно в цель. Не внимательность - ужас. Думал что там надо когда работаешь ставишь - а тут когда НЕ работаешь :)

                Благодарю.

              • +2

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

                если очень срочно надо, то можно аккуратно поправить код плагина (сохранив исходную версию файла) и добавить примерно (стоимость и сроки задаются прям в коде) такой код:

                //XXX manually added fixed delivery options
                $delivery_options = $this->dom->createElement('delivery-options');
                $delivery_option = array(
                	'cost' => 300,//стоимость доставки в рублях (wtf? а как же мультивалютность и рынки UAH/KAZ/etc?)
                	'days' => 4,//срок доставки в рабочих днях;
                	// 'order-before'=>'16',//(необязательный) — время (только часы) оформления заказа, до наступления которого действуют указанные сроки и условия доставки.
                );
                $this->addDomValue($delivery_options, 'option', $delivery_option);
                $shop->appendChild($delivery_options);

                после строки

                $shop->appendChild($this->dom->createElement('categories'));

                в методе shopYandexmarketPluginRunController::init в файле wa-apps/shop/plugins/yandexmarket/lib/actions/backend/shopYandexmarketPluginRun.controller.php (примерно 338 строчка), либо подождать обновления плагина

                • +2
                  Николай Дьячков Николай Дьячков 17 марта 2016 14:48 #

                  Не прокатило :)

                  YML-файл содержит ошибки
                  LIBXML_ERR_ERROR #504 [4:0]: Element shop content does not follow the DTD, expecting (name , company , url , phone? , platform? , version? , agency? , email* , currencies , categories , store? , pickup? , delivery? , deliveryIncluded? , local_delivery_cost? , adult? , offers), got (name company url phone platform version currencies categories delivery-options store pickup delivery local_delivery_cost adult offers)
                  LIBXML_ERR_ERROR #534 [69:0]: No declaration for element delivery-options
                  LIBXML_ERR_ERROR #534 [70:0]: No declaration for element option
                  LIBXML_ERR_ERROR #533 [70:0]: No declaration for attribute cost of element option
                  LIBXML_ERR_ERROR #533 [70:0]: No declaration for attribute days of element option
                  • +1

                    На эти ошибки внимания не обращайте — DTD файл вы не обновляли, к тому же оригинальный DTD яндекса тоже не обновлен и ничего не знает о введенной опции delivery-options (разработчикам яндекса тоже, видимо, не до этого). Попробуйте просто скормить этот файл яндексу - если он его примет, то значит всё корректно разобрано. Важный момент упоминается в справке: в настройках должны быть соответствующие настройки.

                    • +1
                      Николай Дьячков Николай Дьячков 18 марта 2016 04:59 #

                      Не, надо видимо как то по другому делать. И далее куча ошибок.

                      Дата из файла: 2016-03-18 11:57 (строка 3, столбец 37)
                      Предупреждение: Вы используете новый формат передачи данных о курьерской доставке, в нем не поддерживается элемент local_delivery_cost (строка 75, столбец 51)
                      scheme: delivery-options (строка 77, столбец 12)
                      Ошибка: Новый формат передачи данных о курьерской доставке пересекается со старым (строка 99, столбец 15)
                      • +1

                        В настройках экспорта вам надо найти все local_delivery_cost и убрать для них значения, так же надо убрать значение из поля Стоимость доставки. После этого в создаваемом файле не будет конфликтующих полей local_delivery_cost.

                      • +2

                        Полноценная переделка плагина с корректной поддержкой настроек потребует большего количества правок, а это не подходит под "срочно" :).

                      • +2
                        Олег Олег 17 марта 2016 03:21 #

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

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

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