Экспорт каталога товаров в Яндекс.Маркет

9.3/10 оценка (8 голосов)

Яндекс.Маркет — это агрегатор интеренет-магазинов. Он сам ничего не продаёт, но предоставляет другим магазинам платформу для сбыта товаров, и предлагает своим посетителям:

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

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

JBZoo поможет вам экспортировать свой каталог в Яндекс.Маркет.

Требования для экспортируемого файла

Формат файла экспорта Яндекс.Маркета имеет строгую структуру, а потому, любое отклонение от технических требований влечет за собой неправильное оформление документа. По этой причине влияние пользовательских настроек в шаблоне сведено к минимуму.

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

  • Элемент должен присутствовать в позиции.
  • У товара обязательно должна быть цена, которая больше нуля
  • Все элементы должны находиться строго на своих местах. Например, Textarea не может находится в позиции Image.
  • Для каждого типа материала должен присутствовать свой шаблон.
  • В позиции description должно находится текстовое поле с описанием товарного предложения.
  • Для позиции properties могут использоваться элементы radio, checkbox, select, text, и у них необходимо включить опцию «Показать ярлык». Иначе в атрибутах не будет отображено название параметра.

Соответствие позиций:

  • Title — название товарного предложения. Элемент Item name (core), либо Text.
  • Price — его цена. Элемент JBPrice.
  • Properties — технические характеристики, опции, свойства. Элементы Checkbox, Select, Radio, Text.
  • Image — изображение товара. Элементы Image, JBImage.
  • Description — описание продукта. Элементы Text, Textarea.
  • Vendor — производитель (компания или брэнд). Элементы Checkbox, Select, Radio, Text.
  • Country of origin — страна производитель. Элемент Country.

Как настроить интернет-каталог?

По умолчанию, в JBZoo, шаблон для Яндекс.Маркет присутствует только для типа product.
Перед тем, как добавить шаблон, найдите файл

/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/product/ymlexport.php

Если его нет, то создайте по тому же адресу. Выглядеть он будет следующим образом

<?php
/**
* JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
*
* @package jbzoo
* @version 2.x Pro
* @author JBZoo App http://jbzoo.com
* @copyright Copyright (C) JBZoo.com, All rights reserved.
* @license http://jbzoo.com/license-pro.php JBZoo Licence
* @coder Vitaliy Yanovskiy <joejoker@jbzoo.com>;
*/ // no direct access
defined('_JEXEC') or die('Restricted access');
$yml = $this->app->jbyml;
?>
<?php if($item_params['price'][$item->id] !=0 || !empty($item_params['price'][$item->id])) : ?>
   <offer id="<?php echo $item->id ?>" available="<?php echo $yml->replaceSpecial($item_params['available'][$item->id]); ?>">        <url><?php echo $yml->replaceSpecial($item_params['link'][$item->id]);?></url>       <?php if ($this->checkPosition('price')) : ?>
      <price><?php echo $item_params['price'][$item->id]; ?></price>
      <?php endif; ?>       <currencyId><?php echo $item_params['currencyId'][$item->id]; ?></currencyId>
      <categoryId><?php echo $item_params['categoryId'][$item->id]; ?></categoryId>       <?php if ($this->checkPosition('image')) : ?>
      <picture><?php echo $item_params['picture'][$item->id];?></picture>
      <?php endif; ?>       <?php if ($this->checkPosition('title')) : ?>
      <name><?php echo $yml->replaceSpecial($item->name); ?></name>
      <?php endif; ?>       <?php if ($this->checkPosition('vendor')) : ?>
      <vendor><?php echo $yml->replaceSpecial($this->renderPosition('vendor')) ?></vendor>
      <?php endif; ?>       <?php if ($this->checkPosition('description')) : ?>
      <description><?php echo $yml->replaceSpecial($this->renderPosition('description')) ?></description>
      <?php endif; ?>       <?php if ($this->checkPosition('country_of_origin') && !empty($item_params['country'][$item->id])) : ?>
      <country_of_origin><?php echo $yml->replaceSpecial($item_params['country'][$item->id]); ?></country_of_origin>
      <?php endif; ?>       <?php if ($this->checkPosition('properties')) : ?>
      <?php echo $this->renderPosition('properties', array('style' => 'jbxml')) ?>
      <?php endif; ?>
   </offer>
<?php endif;

Для того чтобы добавить шаблон в другие типы, достаточно скопировать созданный файл в директорию:

/media/zoo/applications/jbuniversal/templates/catalog/renderer/item/<ВАШ ТИП>/ymlexport.php

и отредактировать два файла, в соответствующем типе: positions.xml и metadata.xml.

В файл positions.xml добавляем следующий код:

<positions layout="ymlexport">
   <position name="title">Title</position>
   <position name="price">Price</position>
   <position name="properties">Properties</position>
   <position name="image">Image</position>
   <position name="description">Description</position>
   <position name="vendor">Vendor</position>
   <position name="country_of_origin">Country of origin</position>
</positions>

В файл metadata.xml:

<layout name="ymlexport">
   <name>Yml Export</name>
   <description>Layout for controller ymlexport</description>
</layout>

Экспорт товаров в YML формате

Местонахождение настроек экспорта для Яндекс.МаркетаНастройка экспорта в Яндекс Маркет находится в административной панели JBZoo.

Окно настройки имеет следующий вид:

Поля отмеченные звездочкой — обязательны для заполнения.

Настройки для экспорта каталога

  • URL магазина — адрес главной страницы, если оставить пустым, то будет использоваться текущий.
  • Ограничение по каталогу — каталог(и), из которого будет производиться выгрузка товаров в файл. Обязательно должен быть выбран хотя бы один.
  • Имя сайта — укажите название вашего сайта. Если вы оставите данное поле незаполненным, то имя будет взято из глобальных настроек сайта.
  • Имя компании — введите официальное имя компании. В противном случае оно будет взято из настроек сайта.
  • Ограничение по типу — выберите один или несколько типов, из которых будут выгружаться товары в файл.
  • Список курсов валют — параметр, указывающий, относительно какого курса будет вычисляться цена для каталога Яндекс.Маркета.
  • Путь к файлу — относительный путь к директории до yml файла, куда будет сохранен весь результат экспорта. Укажите существующий каталог. По умолчанию будет использован «/images»
  • Имя файла — укажите имя файла без расширения. Если поле оставить пустым, то по умолчанию название будет yml.xml.

Создание XML файла экспортаДалее перейдите во вкладку Экспорт и кликните на надпись Яндекс.Маркет (YML). Для того, чтобы создать XML файл экспорта, нажмите на кнопку Запустить.

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

 

XML, Шаблон, Экспорт, Элементы, Яндекс

У меня остались вопросы, где я могу их задать?

Вы можете обратиться на наш специальный форум техподдержки JBZoo. Если у вас нет активного аккаунта со знаком «плюс» в тарифном плане, то вы можете задать свой вопрос в одном из этих разделов или на любой из наших контактов. Форум специально предназначен для JBZoo, приоритет и скорость ответа там выше.