Выгрузка товаров в Яндекс маркет из сайта на Modx Revolution с помощью getResources
Всем привет. Это статья для любителей и профессионалов создания и ведения сайта, созданном на системе управления сайтом Modx Revolution. В данном уроке я расскажу как выгрузить с сайта товары в Яндекс Маркет. Перед эти я немного введу в курс дела и пошагово объясню как добавить ваши товары на сайте в самый большой интернет-магазин рунета.
Сразу скажу, что статья эта предназначена для тех, у кого простой интернет-магазин, а скорее каталог, сделанный простыми и обычными способами Modx Revolution. Дело в том, что многие интернет магазины сделаны с помощью Minishop2, Shopkeeper и других модулях, в которым есть плагины, отвечающие за выгрузку товаров в Яндекс Маркет. Я же буду говорить о каталоге, сделанном на обычном getResources (ну или подобных сниппетах типа pdoResources от Безумкина).
В этой статье я дам краткую информацию о настройке самого Яндекс Маркета и некоторых разработках на Modx Revo, которые нужны для процесса выгрузки прайс-листа.
Создаем магазин в Яндекс Маркет
Для начала Вам нужно зарегистрировать аккаунт в самом яндексе и пройти по этой ссылке, чтобы зарегистрировать Ваш магазин
Жмем на кнопку «Разместить магазин» и заполняем несложную форму
после чего переходим на следующий шаг, которому и посвящена тема урока
Создание прайс-листа в формате YML и выгрузка его в Яндекс Маркет
В этом окне требуется указать ссылку на прайс-лист или загрузить файл в формате YML, CSV или Excel. Во всех вариантах Вам нужно сделать этот прайс-лист. Для меня как для веб-разработчика, конечно легче сделать xml файл всех товаров прямо на сайте. В противном случаем Вам нужно выгружать прайс-лист определенного формата с сайта (что тоже требует знаний веб-разработки) или 1C. В случае с 1С лично мне пришлось бы проходить бухгалтерские курсы на основе 1С, поэтому я выбираю создание YML прайс-листа и указание ссылки на него. Приступим.
Устанавливаем getResources
Подробно останавливаться не буду. В интернете полно информации о том, как устанавливаются приложения в Modx Revo. Да и то, что вы интересуетесь выгрузкой товаров в Яндекс Маркет из сайта на Modx уже говорит о том, что вы это умеете и, скорее всего, getResources у Вас уже установлен.
Создаем шаблон YML
Этот шаблон мы прицепим к странице прайс листа в формате xml. В шаблон вставляем следующий код:
<yml_catalog date="[[data?]]"> <shop> <name>Название интернет магазина</name> <company>Название компании</company> <url>[[++site_url]]</url> <currency id="RUR" rate="1" plus="0"/> </currencies> [[Wayfinder? &startId=`1` &level=`3` &outerTpl=`yml_outerTpl` &rowTpl=`yml_rowTpl` &innerTpl=`yml_innerTpl` &innerRowTpl=`yml_innerRowTpl` ]] <local_delivery_cost>300</local_delivery_cost> <offers> [[getResources? &parents=`1` &showHidden=`1` &tpl=`yml_tpl` &limit=`0` &sortdir=`ASC` &includeContent=`1` &includeTVs=`1` &processTVs=`1` &hideContainers=`1`]] </offers> </shop> </yml_catalog>
Как видим нам еще нужно создать сниппет вывода даты data, 4 чанка для навигации файла и чанк yml_tpl для вывода каждой позиции товара.
Создаем сниппет data
Сниппет будет выводить текущую дату формата 2015-12-19 01:29. Создаем сниппет. Название data, код сниппета:
<?php return date("Y-m-d H:i");
Создаем чанки для Wayfinder
Предлагаю создавать все чанки, относящиеся к выводу товаров в яндекс маркет в категорию YML, чтобы не было бардака в админке.
yml_outerTpl
Обертка категорий
<categories> [[+wf.wrapper]] </categories>
yml_rowTpl
Вывод категории
<category id="[[+id]]">[[+wf.linktext]]</category> [[+wf.wrapper]]
yml_innerRowTpl
Отвечает за вывод подкатегории
<category id="[[+id]]" parentId="[[+parent]]">[[+wf.linktext]]</category>
yml_innerTpl
Обертка вывода подкатегорий
[[+wf.wrapper]]
Создаем чанкyml_tpl
Вот его код:
<offer id="[[+id]]" available="true"> <url>[[++site_url]][[~[[+id]]]]</url> <price>[[+longtitle]]</price> <currencyId>RUR</currencyId> <categoryId type="Own">[[+parent]]</categoryId> <picture>[[++site_url]][[+tv.img:phpthumbof=`&w=178&h=118&zc=1`]]</picture> <delivery>true</delivery> <local_delivery_cost>300</local_delivery_cost> <name>[[+pagetitle]]</name> </offer>
А вот с параметрами Вам нужно будет разобраться самим. Это можно сделать на странице помощи. Здесь же самый скромный набор параметров:
- url — ссылка на товар
- price — tv с ценой
- currencyId — валюта
- categoryId — id категории товара
- picture — изображение товара
- delivery — включена (false отключена)
- name — название товара
Вы можете составить свой чанк с другими параметрами, подставляя TV в стандарты YML
Создаем новый документ под названием YML
Создаем новый документ в корне сайта и называем его YML. Тип содержимого: xml. Убираем галочку с «Использовать HTML редактор» и ставим галочку в «Не показывать в меню» и присваиваем ему шаблон YML.
Прайс лист готов, но это не означает, что он правильный. Я же столкнулся с проблемой с псевдонимами товаров, в которых были, запрещенные стандартами YML, символы типа кавычек. Мне пришлось делать автоматическую переадресацию при изменении ссылок всех страниц и редактировать url каждого отдельного товара.
Все свои ошибки вы проверите, когда укажите ссылку формата http://мой_сайт/yml.xml в этой форме
При нажатии «проверить файл» система немного подумает и покажет Вам одобрение или укажет на ошибки, которые нужно исправить. Также для последующего прохождения регистрации Вам нужно ознакомиться с Чек листом, где подробно описано о подготовке сайта к выгрузке товаров в Яндекс Маркете.
После успешного прохождения регистрации и выгрузки прайс-листа вы попадете в личный кабинет яндекс маркета, где нужно будет заполнить информацию о магазине, доставке, юридической информации и т.д.
После заполнения информации и прохождения всех проверок Вы сможете рекламироваться в Яндекс Маркете и выставлять свои товары по определенным запросам. Что еще нужно для каталога или интернет-магазина? Всего доброго.
Статья написана при поддержке Школы рыночной экономики
Комментарии ()