Универсальный экспорт товаров в Яндекс.Маркет
29 октября 2014
Автор: Башков Сергей
Наверное каждому руководителю интернет-магазина хотя бы раз приходилось задумываться о размещении своих товаров в Яндекс.Маркет, ведь это одна из самых привлекательных площадок для продажи своей продукции, по крайней мере в России. К сожалению, не всем удается туда попасть по разным причинам. Но специально для владельцев бизнеса мы разработали простой и эффективный технический инструмент, упрощающий доступ на эту торговую площадку.
Итак, что же послужило причиной создания модуля выгрузки в Яндекс.Маркет? Дело в том, что однажды, нам для одного из интернет-магазинов, понадобилось сделать выгрузку товаров, но подходящего для наших целей готового решения мы не нашли. Задача заключалась в том, чтобы для разных типов товаров организовать выгрузку их индивидуальных наборов свойств (тегов) в единый YML-файл, а также сделать этот процесс генерации YML-файла пошаговым, с установленным лимитом. Существующие модули этого сделать не позволяли.
Располагая достаточным количеством времени, мы решили сделать универсальный модуль выгрузки, который бы позволял решать все эти задачи, а также, был удобным и простым в настройке, без необходимости лазить в документацию Яндекса. Вариант реализации в виде компонента мы отбросили сразу, так как он нес некоторые ограничения и не позволял в полной мере реализовать поставленные задачи. В итоге родился алгоритм работы, который позволил бы использовать этот модуль практически для любого интернет-магазина с практически любыми требованиями, предъявляемыми к экспорту товаров в Маркет. Что и было сделано.
Принцип настройки модуля прост, и сводится в три основных раздела:
Не будем подробно останавливаться на разделе «Общих настроек магазина», там все довольно просто. Интереснее будет рассмотреть следующие 2 раздела, которые в целом похожи на инфоблоки, - список элементов, их фильтрация, добавление, редактирование, удаление и прочее. Только элементами здесь служат настройки, в которых Вы выбираете разделы/товары (в элементах раздела «Источники данных») и задаете для них индивидуальные правила выгрузки (в элементах раздела «Правила выгрузки»). Каждому «правилу» назначается свой уникальный «источник»!
Вам нужны индивидуальные правила выгрузки для тех 5 товаров и одного из разделов? Пожалуйста! - Укажите эти настройки в новом элементе «источника данных» и привяжите к нему Ваше новое «правило выгрузки» с нужными настройками. Источник привязывается к правилу в настройках элемента «Правила выгрузки».
Таким образом, Вы можете создавать неограниченное количество «источников» и «правил» для них. Благодаря этому Вы имеете возможность очень гибко управлять выгрузкой нужной информации в Яндекс.Маркет. На наш взгляд, это идеальный подход, как для обычных магазинов с определенным типом продукции, так и для магазинов с широким товарным ассортиментом.
Модуль экспорта в Яндекс.Маркет поддерживает все 7 типов товаров, а также экспорт 99% всех возможных тегов согласно его документации. Таким образом, теперь у каждого магазина есть возможность максимально адаптировать выгрузку своих товаров и их свойства (теги) на торговую площадку Маркета. При выборе нужного типа товара срабатывает Ajax-механизм, который показывает только те поля, которые относятся к выбранному товарному типу.
Для каждого поля настроек мы полностью продублировали его описание из документации Яндекса и указали тег, который относится к этому полю. Это удобно, как для тех, кто уже знаком с Яндекс.Маркетом, позволяя быстро найти и выставить настройки для нужных тегов, так и для новичков, которым не придется лезть в документацию, чтобы понять смысл настройки того или иного поля. Таким образом, мы продокументировали все 100% полей (тегов) модуля, которые отвечают за формирование YML-файла.
При настройке практически каждого поля «правила», Вы можете указать свое собственное значение, применяемое в данном «правиле» или указать свойство товарного инфоблока, из которого оно должно быть сформировано. При выборе установки своего значения, появится дополнительное текстовое поле, куда Вы можете внести Ваше значение.
Для каждого правила экспорта Вы можете указать желаемый раздел, в котором должна располагаться ваша группа товаров на Яндекс.Маркете. Специально для этого мы перенесли структуру разделов с Яндекс.Маркета и сделали соответствующую настройку.
В каждом правиле выгрузке Вы также можете указывать неограниченное количество дополнительных параметров товара ( тег <param> )
Очень часто в интернет-магазинах для товаров используется свойство указания похожих (рекомендуемых) товаров. Это свойство тоже можно экспортировать.
Ну и напоследок, хотелось бы обратить внимание на сам способ формирования YML-файла. В нашем модуле реализовано целых 2 способа:
В процессе разработки данного модуля нами была проделана действительно большая работа, обработан большой объем данных и ушло много времени. Будем надеяться, что он Вам понравится и будет востребован, чтобы мы смогли развивать его и дальше. Тем более, что у нас остался еще большой список того, что нам хотелось бы в нем реализовать. Ждем от Вас замечаний, предложений и отзывов!
Желаем Вам успехов!
Итак, что же послужило причиной создания модуля выгрузки в Яндекс.Маркет? Дело в том, что однажды, нам для одного из интернет-магазинов, понадобилось сделать выгрузку товаров, но подходящего для наших целей готового решения мы не нашли. Задача заключалась в том, чтобы для разных типов товаров организовать выгрузку их индивидуальных наборов свойств (тегов) в единый YML-файл, а также сделать этот процесс генерации YML-файла пошаговым, с установленным лимитом. Существующие модули этого сделать не позволяли.
Располагая достаточным количеством времени, мы решили сделать универсальный модуль выгрузки, который бы позволял решать все эти задачи, а также, был удобным и простым в настройке, без необходимости лазить в документацию Яндекса. Вариант реализации в виде компонента мы отбросили сразу, так как он нес некоторые ограничения и не позволял в полной мере реализовать поставленные задачи. В итоге родился алгоритм работы, который позволил бы использовать этот модуль практически для любого интернет-магазина с практически любыми требованиями, предъявляемыми к экспорту товаров в Маркет. Что и было сделано.
Принцип настройки модуля прост, и сводится в три основных раздела:
- «Общие настройки магазина», в котором указываются все настройки, входящие в YML-файл до генерации тега <offers> с описанием всех торговых предложений.
- «Источники данных», - это список элементов (источников данных), в каждом из которых хранятся выбранные Вами группы разделов и/или элементов, с общими свойствами (элементами тега <offer>, которые будут выгружаться в YML.
- «Правила выгрузки», - это тоже список элементов, в которых хранятся настройки правил выгрузки для созданных ранее «Источников данных». Правила определяют, какие значения должны формироваться для элементов тега <offer> да и какие вообще элементы должны экспортироваться. К каждому правилу указывается свой индивидуальный источник данных!
Не будем подробно останавливаться на разделе «Общих настроек магазина», там все довольно просто. Интереснее будет рассмотреть следующие 2 раздела, которые в целом похожи на инфоблоки, - список элементов, их фильтрация, добавление, редактирование, удаление и прочее. Только элементами здесь служат настройки, в которых Вы выбираете разделы/товары (в элементах раздела «Источники данных») и задаете для них индивидуальные правила выгрузки (в элементах раздела «Правила выгрузки»). Каждому «правилу» назначается свой уникальный «источник»!
Вам нужны индивидуальные правила выгрузки для тех 5 товаров и одного из разделов? Пожалуйста! - Укажите эти настройки в новом элементе «источника данных» и привяжите к нему Ваше новое «правило выгрузки» с нужными настройками. Источник привязывается к правилу в настройках элемента «Правила выгрузки».
Таким образом, Вы можете создавать неограниченное количество «источников» и «правил» для них. Благодаря этому Вы имеете возможность очень гибко управлять выгрузкой нужной информации в Яндекс.Маркет. На наш взгляд, это идеальный подход, как для обычных магазинов с определенным типом продукции, так и для магазинов с широким товарным ассортиментом.
Модуль экспорта в Яндекс.Маркет поддерживает все 7 типов товаров, а также экспорт 99% всех возможных тегов согласно его документации. Таким образом, теперь у каждого магазина есть возможность максимально адаптировать выгрузку своих товаров и их свойства (теги) на торговую площадку Маркета. При выборе нужного типа товара срабатывает Ajax-механизм, который показывает только те поля, которые относятся к выбранному товарному типу.
Для каждого поля настроек мы полностью продублировали его описание из документации Яндекса и указали тег, который относится к этому полю. Это удобно, как для тех, кто уже знаком с Яндекс.Маркетом, позволяя быстро найти и выставить настройки для нужных тегов, так и для новичков, которым не придется лезть в документацию, чтобы понять смысл настройки того или иного поля. Таким образом, мы продокументировали все 100% полей (тегов) модуля, которые отвечают за формирование YML-файла.
При настройке практически каждого поля «правила», Вы можете указать свое собственное значение, применяемое в данном «правиле» или указать свойство товарного инфоблока, из которого оно должно быть сформировано. При выборе установки своего значения, появится дополнительное текстовое поле, куда Вы можете внести Ваше значение.
Для каждого правила экспорта Вы можете указать желаемый раздел, в котором должна располагаться ваша группа товаров на Яндекс.Маркете. Специально для этого мы перенесли структуру разделов с Яндекс.Маркета и сделали соответствующую настройку.
В каждом правиле выгрузке Вы также можете указывать неограниченное количество дополнительных параметров товара ( тег <param> )
Очень часто в интернет-магазинах для товаров используется свойство указания похожих (рекомендуемых) товаров. Это свойство тоже можно экспортировать.
Ну и напоследок, хотелось бы обратить внимание на сам способ формирования YML-файла. В нашем модуле реализовано целых 2 способа:
- «На лету», - когда Вы вызываете файл /mibix_yandex_export.php в корне сайта, который в момент запуска формирует за один этап всю выгрузку и выдает сразу же результат. Этот файл Вы можете сразу же подсунуть Яндексу, который при каждом своем обращении будет получать актуальную версию YML-файла. К сожалению, как правило, при большом товарном ассортименте данный способ не подходит, так как из-за большой нагрузки на сервер/хостинг вызывает разные ошибки. Для решения этой проблемы мы разработали второй способ.
- «Пошаговый», - когда YML-файл генерируется в несколько этапов, причем лимит для каждого шага Вы задаете ему сами в настройках. Для генерации YML-файла данным способом нужно вызвать файл /mibix_yandex_create.php, который находится в корне сайта напрямую или через CRON. В результате процесс экспорта пройдет в несколько этапов (шагов) и его результатом будет сформированный YML-файл /yandex_export.xml, который также будет расположен в корне сайта (впрочем путь и название этого файла Вы тоже можете сменить в настройках).
В процессе разработки данного модуля нами была проделана действительно большая работа, обработан большой объем данных и ушло много времени. Будем надеяться, что он Вам понравится и будет востребован, чтобы мы смогли развивать его и дальше. Тем более, что у нас остался еще большой список того, что нам хотелось бы в нем реализовать. Ждем от Вас замечаний, предложений и отзывов!
Желаем Вам успехов!
Статья полезна для
Предлагаем еще прочесть