Заметки

Выгрузка в яндекс маркет

29.08.2017 19:39:59

Настраиваемая далее выгрузка, актуальна для редакций битрикс "Малый бизнес" и "Бизнес".

Начнем наши настройки из админ раздела и следуем по следующему пути Админка > Магазин > Настройки >Экспорт данных


На открывшейся странице видим список предустановленных профилей экспорта.

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

Далее нам нужно произвести следующие настройки:

  1. Выберите тип инфоблока каталога, его можно узнать на вкладке админки Контент>Инфоблоки>Типы инфоблоков.
  2. Выберите инфоблок каталога товаров
  3. Выберите разделы каталога, которые нужно выгрузить
  4. По этой кнопке доступна более тонкая настройка
  5. Настройте домен и имя профиля. Также вы можете указать имя файла выгрузки.
Сохраните профиль и вернетесь в список. В списке в столбике с именами профилей найдите, созданный нами профиль и в начале строки нажмите на кнопку с меню

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

Модификация

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

Значения элемента cpa в элементе offer:

  • 0 — данный товар не участвует в программе «Заказ на Маркете»;
  • 1 — данный товар участвует в программе «Заказ на Маркете».

Скопируем стандартный скрипт выгрузки к себе. Он находится в: /bitrix/modules/catalog/load/

Копируем файл yandex_run.php и внесем в него следующие изменения:

В массив $arYandexFields (66 строка), добавим значение 'cpa'

	
$arYandexFields = array(
	'typePrefix', 'vendor', 'vendorCode', 'model',
	'author', 'name', 'publisher', 'series', 'year',
	'ISBN', 'volume', 'part', 'language', 'binding',
	'page_extent', 'table_of_contents', 'performed_by', 'performance_type',
	'storage', 'format', 'recording_length', 'artist', 'title', 'year', 'media',
	'starring', 'director', 'originalName', 'country', 'aliases',
	'description', 'sales_notes', 'promo', 'provider', 'tarifplan',
	'xCategory', 'additional', 'worldRegion', 'region', 'days', 'dataTour',
	'hotel_stars', 'room', 'meal', 'included', 'transport', 'price_min', 'price_max',
	'options', 'manufacturer_warranty', 'country_of_origin', 'downloadable', 'adult', 'param',
	'place', 'hall', 'hall_part', 'is_premiere', 'is_kids', 'date','cpa'
);

Затем в switch после строки(1628) вставим новый case с нашим тегом.

	
case 'cpa':
	/**wizzle*/
	$itemQuantity = $offer["CATALOG_QUANTITY"];
	$itemsContent .= "<cpa>";
	if($itemQuantity>3){
$itemsContent .= "1"; }else{ $itemsContent .= "0"; } $itemsContent .= "</cpa>"."\n"; break;

Затем в следующий switch после строки 1800 вставляем такой же case только в строке $itemQuantity = $offer["CATALOG_QUANTITY"];

Теперь возвращаем наш файл обратно на сайт в следующее расположение:  /bitrix/php_interface/include/catalog_export/ и перезаписываем уже существующий файл. 

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

Измененный файл yandex_run.php прикладываю (версия битрикса на момент внесения изменений 17.0.12) - скачать

Возврат к списку