Выгрузка ВСЕХ ТОВАРОВ (14 витрин) в один XML файл

Люди добрые, подскажите пожалуйста.

Нам нужно сделать выгрузку всех товаров в XML файл, но у нас 14 витрин, а нам нужен один файл на выходе со всеми товарами. Что можно использовать для этих целей?

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

Спасибо.

10 ответов

  • 1

    Если это разовая процедура, то можно аккуратно "объединить" файлы экспорта с каждой из 14 витрин (подойдет для случая, когда есть понимание структуры XML файлов), для N кратной процедуры можно написать простой код объединения файлов.

    • +1
      Stratok Stratok 16 марта 2018 16:01 #

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

      Можно конечно написать парсер, который будет забирать 14 xml документов и выдавать на выход суммарный. Но витрин будет становиться больше, нужно будет добавлять файлы в парсер, в общем как то непрофессионально звучит, костыльно.

      А нельзя как то допилить плагин Яндекс.Маркет чтобы он со всех витрин делал выгрузку а не с одной конкретной? Мы могли бы заказать такую доработку. Это кажется логичным, добавить в поле выбора витрины пункт "все".)

      • +2

        Сделать одну техническую витрину (скрыв её в htaccess), куда попадают все необходимые товары и категории. Дешево, но не совсем удобно. И ссылки на товары будут некорректными.

        • +1
          Stratok Stratok 17 марта 2018 17:24 #

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

        • +1
          Stratok Stratok 20 марта 2018 08:27 #

          Владислав, подскажите пожалуйста, не получается.

          У нас 14 витрин с разными товарами, и одна, на которой отображаются все товары со всех витрин. То есть тут и мудрить не надо, НО, при выгрузке с этой общей витрины, файл содержит только категории, а товаров в нем нет. Я заметил, что плагин выгружает только те товары, у которых первая указанная категория принадлежит выбранной витрине. И, теоритически, мы могли бы пройтись по 3-м тысячам товаров и поменять местами указанные категории, но тогда мы не сможем при необходимости сделать выгрузку по какой либо конкретной витрине. Опять же будет пустой файл. Может быть в плагине можно закомментировать пару строк кода, где осуществляется проверка, принадлежит ли первая категория, указанная в товаре выбранной витрине.

          • +1

            Можно использовать возможность отладки экспорта, упомянутой в самом конце инструкции по настройке:

            Информацию о товарах, не попавших в выгрузку, можно смотреть в лог-файле в директории wa-log/. Для этого перед началом экспорта включите флажок «Логировать предложения, не попавшие в выгрузку». Лог-файл можно просматривать с помощью приложения «Логи».

            Дополнительно там упоминаются другие причины, по которым позиции не попадают в экспорт.

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

            • +1
              Stratok Stratok 20 марта 2018 13:33 #

              Да, она не содержит тех же категорий, потому что у нее свое собственное дерево категорий. Фактически, каждая витрина имеет собственное дерево категорий, которое негде не дублируется, а каждый товар лежит в нескольких (как минимум двух) категориях одновременно.

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

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

              А есть ли возможность заказать "допиливание" функционала плагина "Яндекс Маркет" непосредственно разработчикам? Мы так поступали с некоторыми плагинами сторонних разработчиков, а вот с официальными не приходилось.

              • +1

                По плагину есть пожелания по доработке интерфейса и его возможностей отбора товаров для экспорта, скорее всего то, что нужно сделать вам частично будет решено в этих доработках. Но одновременный экспорт товаров с разных витрин кроет в себе очень много нюансов, на порядки проще сделать код, который будет соединять воедино ранее сгенерированные (по крону через cli или иначе) файлы в один (это несколько десятков строчек кода на всю работу)

                • +1
                  Stratok Stratok 20 марта 2018 15:42 #

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

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

                • +1
                  Stratok Stratok 20 марта 2018 16:33 #

                  А как скоро будут эти доработки?

                  Нам бы одну доработку всего, - галочку "выгружать даже если категория не главная". Ну и чтобы галочка работала)

                  Мне кажется логично, что товар может продаваться одновременно на двух витринах, значит он должен присутствовать в выгрузке любой из этих витрин. Деревья категорий могут сильно отличаться в двух разных магазинах, например товар "Жесткий диск A-Data" может на одной витрине лежать в категории "комплектующие", а на другой в категории "Жесткие диски", и как быть в этом случае, ведь в такой ситуации нет "главной" категории. есть две равноправные, а попадать в выгрузку товар будет лишь на одной витрине.


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

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