Выгрузка товаров в Яндекс маркет из сайта на Modx Revolution с помощью getResources

Выгрузка товаров в Яндекс маркет из сайта на 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 в этой форме

При нажатии «проверить файл» система немного подумает и покажет Вам одобрение или укажет на ошибки, которые нужно исправить. Также для последующего прохождения регистрации Вам нужно ознакомиться с Чек листом, где подробно описано о подготовке сайта к выгрузке товаров в Яндекс Маркете.

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

После заполнения информации и прохождения всех проверок Вы сможете рекламироваться в Яндекс Маркете и выставлять свои товары по определенным запросам. Что еще нужно для каталога или интернет-магазина? Всего доброго.

Статья написана при поддержке  Школы рыночной экономики

Похожие статьи