Как сделать экспорт в Google merchant битрикс?

Выгрузки на торговые площадки. Инструкция для программиста 1С-Битрикс

  • Сравнение выгрузок на различные Торговые площадки
    • Часть 1 – Яндекс.Маркет
    • Часть 2 – Как работает стандартная выгрузка
    • Часть 3 – Нам подходит выгрузка для Яндекс.Маркета», говорили они…

Про пользу размещения товаров на различных торговых площадках и их принципиальные отличия читайте в нашей предыдущей статье .

Сравнение выгрузок на различные Торговые площадки

Часть 1 – Яндекс.Маркет

Первое, что приходит в голову, если вспоминать о торговых площадках – это Яндекс.Маркет. И, что приятно, по объёму и подробности документации его превосходит разве что Google Merchant Center.

Итак, с чего начать?
Проверим то, что уже есть в Битриксе.
Зайдя в административную часть Битрикса в меню Магазин -> Экспорт данных, мы с радостью обнаруживаем заветную строчку Yandex.
Переходим в раздел, начинаем заполнять поля.

Первое препятствие. Какой тип описания выбрать – vendor.model или упрощённый? Покопавшись в документации, приходим к выводу, что vendorCode нет в требованиях Яндекса, поэтому выбираем упрощенный вариант.
Запускаем Экспорт в Битриксе. Выгрузка есть, но она не подходит, так как нет многих пунктов, обязательных для раздела Одежды (Яндекс.Гардероб).

Например:

  • Нельзя задать категорию в Яндекс.Маркете, которой соответствует данный товар;
  • Если ваше свойство статичное (например, пол Женский) и, соответственно, нигде явным образом не задаётся – то и в выгрузке вы его не получите;
  • Нет вывода «старой цены»;
  • Цены можно выбирать только из тех, что доступны неавторизованному пользователю;
  • Нельзя поменять название параметра;
  • Нельзя выгружать товары только в наличии или только с фото;
  • Нельзя устанавливать ставки на различные категории товаров;
  • И много другое.

Итак, стандартная выгрузка нас не устраивает. Какие остаются варианты?

Вариант А. Купить приложение на Маркетплейсе.

Вариант Б. Кастомизировать выгрузку.

Вариант А подходит, если у вас нет никаких сверхъестественных взаимодействий в вашем каталоге.
Например, в магазине из примера была особенность – фотографии товара были только у одного торгового предложения для определённого цвета (причём это предложение могло быть в нулевом количестве). То есть, у вас есть платье синего и зелёного цвета, каждый цвет есть для размеров 44 и 46. Только вот картинки для зелёного есть только у размера 44 (которого нет в наличии), а для синего – у 46. Шанс, что покупной модуль умеет правильно обрабатывать подобную ситуацию довольно мал. И не потому, что модуль плохой, а потому что таких ситуаций – тысячи, и каждая индивидуальна для отдельно взятого сайта. Но если ваш сайт всё же остался стандартным — устанавливайте себе пробную версию, проверяйте – возможно, вам повезёт и никаких лишних трудозатрат не будет.

Но это не наш случай. Значит, останавливаемся на варианте Б. Возникает вопрос – и сколько времени придётся потратить, чтобы кастомизировать эту выгрузку? Вопрос хороший и во многом зависит от программиста. Но если вы один раз действительно хорошо её кастомизируете – так, что можно будет менять набор параметров изменением парой строк – то переделывание выгрузки на другие магазины, сайты или типы выгрузок будет занимать у вас всего пару часов, а то и меньше.

Часть 2 – Как работает стандартная выгрузка

Буквально в первых строчках Google приносит вот эту ссылку . Исходя из неё, можно смело начинать – идти в /bitrix/php_interface/include/catalog_export/ и копировать файлы yandex_run и yandex_setup, заменив «yandex» на то, что нужно. Содержимое этих файлов нужно скопировать из модуля catalog (адрес прописан в самих файлах, например, /bitrix/modules/catalog/load/yandex_run.php ).
В setup-файле содержатся настройки, которые открываются при редактировании профиля. Если кратко – можно добавлять свои вкладки и поля, значения которых будут передаваться в файл, непосредственно производящий выгрузку.
Добавлять вкладки можно, добавив в конец файла код
$tabControl->BeginNextTab();
// код
$tabControl->EndTab();

Но, честно говоря, вижу в этом смысл, только если вы собираетесь продавать ваш модуль. Если нет – то велик шанс потратить на это больше времени, чем потом получить пользы.

Кроме того, стандартная выгрузка имеет большой недостаток: при количестве товаров более 3000 начинает есть настолько много памяти на сервере, что сама выгрузка умирает.

Перейдём к главному блюду. Это run-файл – собственно, именно он создаёт результирующий файл выгрузки.

В начале файла идёт Название выгрзки — именно это название будет высвечиваться в списке экспортов.

Далее идут всякие вспомогательные вызовы. Из интересного можно отметить функции

yandex_replace_special – заменяет спецсимволы на их символы-мнемоники
yandex_text2xml – также убирает или заменяет лишние спецсимволы
yandex_get_value – получает значения параметров из свойств товаров

Еще по теме:   Google таблицы: как сделать гиперссылку?

Далее идут проверки свойств, полученных из настроек профиля – что, конечно, полезно, но нас особо не интересует
Смысловая часть начинается с @fwrite – запись в наш новый файл. Первой строкой задаётся тип и кодировка файла, затем идёт уже непосредственно xml-структура. Можно оставить как есть, можно прописать какие-то параметры вручную.
Не буду распространяться о подробной структуре YML, о которой можно прочитать здесь ( https://help.yandex.ru/partnermarket/yml/about-yml.xml ), коснусь лишь принципиальных моментов.

Разделы каталога/categories.
(часть кода начинается с $intMaxSection > Здесь создаётся массив категорий товаров на сайте. Если вы решили задавать у разделов пользовательское поле, в котором будете задавать категорию Яндекс.Маркета, то получать его можно как раз в этом месте.

Тип каталога
Каталог на сайте может быть 4 типов:
D — инфоблок является торговым каталогом
O — инфоблок содержит торговые предложения (SKU)
P — инфоблок товаров, имеющих торговые предложения, но сам торговым каталогом не является
X — инфоблок товаров, имеющих торговые предложения, при это сам инфоблок тоже является торговым каталогом.

То есть, для D и О – это каталог в одном ИБ, P и X – каталог в двух ИБ: товаров и торговых предложений.

Один и тот же код составления offer’а написан 4 раза в каждой ветке. Что довольно странно и неудобно для изменений. Особенно если ваш каталог X-типа: выгрузка будет проходить по веткам 2 и 4 или 3 и 4 (2 или 3 — в зависимости от типа цен). То есть, любые изменения придётся делать минимум в двух местах. Поэтому, если уж всё равно браться переписывать – то лучше все повторяющиеся части вынести в отдельные функции. Такие как: вычисление цены, поиск картинок, вывод названия и описания и так далее.

Название и описание товара
Здесь всё предсказуемо – название берётся из названия, описание – из описания. Но есть нюанс – в название – из названия торгового предложения, а описание – из анонса, при этом обрезается до 255 символов.

Цены
Цены берутся с помощью GetOptimalPrice() для группы пользователей 2 – то есть, неавторизованных. Код во всех 4 ветках кода одинаков, поэтому можно смело выносить его в функцию и передавать нужные значения в качестве параметров.

Параметры
Это самая интересная часть. Стандартная выгрузка вполне неплохо справляется с извлеканием значений из битриксовых свойств с помощью функции yandex_get_value() , передавая ей в качестве параметров массив из свойств торгового предложения и товара. И возвращая на выходе строки вида

Значения свойства через запятую

), в одном параметре может сочетаться несколько свойств, например:

Где STR содержит шаблон строки с заглушками, которые подставляются из соответствующих свойств из PROPS, при этом данная строка записывается, только если срабатывает CONDITION (если массив – то идёт сравнение, если строка – запускается функция с данным названием), применяя функцию-модификатор из MODIFICATION для значения.

Далее пишем функцию, которая принимает на вход свойства товара и торгового предложения (в этот массив можно добавить и цены, названия и всё, что ещё нужно), проходит через наш массив параметров и применяет их к этим свойствам.Конечно, это не панацея, и наверняка может найтись ситуация, когда нужно будет дописывать костыли. Но бОльшую часть вышеперечисленных проблем она вполне решает. Разве что с картинками нужно будет ещё немного повозиться, но это решается достаточно просто.

Часть 3 – Нам подходит выгрузка для Яндекс.Маркета», говорили они…

Что касается других площадок – то они так или иначе похожи на один из вышеперечисленных вариантов, с точностью до названия тегов.

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

Куда мы выгружали:

  • Яндекс.Маркет – всё, что можно было, сказано выше.
  • Товары@Mail.Ru – документация похуже Яндекса, но в целом удобоваримо. Гораздо меньше возможных параметров. Основное отличие описано выше.
  • Google Merchant Center – хорошая подробная документация, принцип построения как на Яндексе, никаких принципиальных проблем возникнуть не должно, разве что теперь картинки делятся на «главную» и «дополнительные»
  • ТопШоп – в начале утверждали, что выгрузка для Яндекс.Маркета им подходит. После нескольких пробных выгрузок оказалось, что не совсем – нужно было вносить изменение, описанное выше. И дописывать возможные размеры в описание товара.
  • Madina.ru – подходит выгрузка для Яндекса. В нашем случае вынесена в отдельную выгрузку, так как нужно было использовать другой тип цен.
  • WikiMart – хоть выгрузка для Яндекса им действительно подходит, зато у них не совсем тривиальный способ объединения торговых предложений товара. А именно – по названию. То есть, ваши торгвые предложения могут оказаться «слепленными» с другими магазинами. Если у ваших товаров одинаковое название – это один товар. Если name вашего товара начинается со «знакомых» магазину слов (юбка, платье, блузка и т.д.) – они обрежутся. И добавится название категории. Только вот слова «блуза» он не знал, из-за чего возникли товары с названиями «блузка блуза». А также названия «Валери» и «Валерия» для него являются одинаковыми.
Еще по теме:   Как передать канал в Телеграм?

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

www.intervolga.ru

Выгрузка в Google Merchant

Технические данные

Модуль «Выгрузка в Google Merchant» позволяет создавать ХML-файл для выгрузки товаров в Google Merchant. Модуль подходит для любых интернет-магазинов, с любой структурой и товарным ассортиментом.

Отлично подойдет для решения практически всех задач, связанных с экспортом товаров на Google Merchant благодаря богатым и гибким возможностям экспорта в единый XML-файл для Google Merchant.

Преимущества модуля:

  1. Работает на любых редакциях 1С-Битрикс, в том числе «Старт»
  2. Поддерживает торговые предложения (SKU)
  3. Понимает фильтры, в результате чего появляется возможность гибко настраивать формирование списка выгружаемых товаров по нужным условиям
  4. Может конвертировать цены в нужную вам валюту, понимает скидки, цены с диапазонами
  5. Умеет устанавливать статусы доступности товара, например: «в наличии» или «под заказ»
  6. Может брать фотографии и название товаров из выбранных свойств
  7. Строит дерево категорий по любой структуре каталога: типы инфоблоков, инфоблоки, разделы, подразделы и т.д.
  8. Позволяет выбирать общую стоимость доставки для своего региона
  9. NEW! Добавилась возможность сохранять выгрузку в файл. Можно повесить формирование выгрузки на событие/агента или планировщик задач (cron)
  10. NEW! Исправлена ошибка, возникающая при автоматической загрузке фида с сайтов с кодировкой Windows-1251
  11. NEW! 1.0.4: Добавилось автоматическое создание агента по чекбоксу
  12. NEW! 1.0.6: Добавилась функция поэтапной выгрузки для каталогов, содержащих большое количество товаров
  13. NEW! 1.0.7: Добавился чекбокс «Округлять цены»

Помощь по функции создания агента

При отмеченном чекбоксе «Создать агента» будет создан агент, который раз в сутки будет обновлять файл выгрузки.

Если нужно, чтобы агент обновлял выгрузку чаще, необходимо зайти в список агентов сайта, который находится в административной части сайта по пути:

Настройки -> Настройки продукта -> Агенты

и найти созданного агента — в столбце «Функция агента» у него будет указано: wfGmerchantAgent();. В его настройках по умолчанию указан интервал срабатывания — 86400 секунд (1 сутки). Изменив этот параметр, можно скорректировать время срабатывания агента.

Убрав чекбокс «Создать агента», вы автоматически удалите созданного агента.

Помощь по обновлению 1.0.6 — Поэтапная выгрузка

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

Типичные примеры использования фильтров выгрузки

Задача. Отметить галочкой каждый товар, который нужно выгружать

1. В настройках информационного блока создаем новое свойство инфоблока, например, WF_SALE. Тип свойства — список, в настройках свойства ставим внешний вид — Флажки и значение Y.

2. На странице вызова компонента, перед вызовом размещаем код:

3. Отмечаем галочкой те товары, которые хотим выгрузить.

Задача. Если нужно сделать наоборот — отметить галочкой товары, которые НЕ НАДО выгружать — просто немного меняем условие

marketplace.1c-bitrix.ru

Экспорт товаров в Google Merchant Center

Технические данные

Совместимые редакции

1. После установки модуль появится в Магазин -> Экспорт в Гугл Мерчант;
2. Перейдите в модуль и создайте новый профиль;
3. Выберите инфоблок для экспорта после чего появятся группы товаров;
4. Отметьте нужные Вам группы товаров;
5. Нажмите кнопку Настроить;
6. В настройках укажите Условие отбора. Например: Все продложения товара;
7. Введите Доменное имя и Имя профиля;
8. Нажмите Сохранить;
9. После сохранения нажмите на имя профиля;
10. После нажатия на имя профиля появится ссылка на файл экспорта в Гугл Мерчант.

Запуск через cron:
Помимо автоматического через меню настроек профиля, можно запускать задачу в ручном режиме. Для этого в файле bitrix/php_interface/include/vsfr.merchant/cron_frame.php нужно заменить #PHP_PATH# на путь к php (строка вида /user/bin/php) и realpath(dirname(__FILE__).’/../../../../’) на путь до корневой папки сайта (строка вида «/home/a/test/public_html/»).
Запустить ssh и в консоли открыть крон для записи командой: crontab -e
После этого прописать в нем строку:
00 00 * * * php -f /home/a/test/public_html/bitrix/php_interface/include/vsfr.merchant/cron_frame.php 2

00 00 * * * — указывается для запуска скрипта в 12 часов ночи ежедневно
php -f указывается для php скрипта
Строку /home/a/test/public_html/ нужно заменить на свой путь до корневой папки сайта
Аргумент 2 в конце строки — нужно заменить на номер id профиля выгрузки. Если агрумент не будет указан, в скрипте будет использован профиль под номером 1

Еще по теме:   Как удалить контакт из Ватсапа на Андроиде?

Обращение в техподдержку можно написать по адресу: http://vsfr.ru/contact

Модуль был сделан на основе стандартного модуля выгрузки в Яндекс.Маркет, поэтому унаследовал все его достоинства и недостатки. Также при создании модуля был использован модуль http://delovsaite.ru/blog/ready-solutions/yandex-market-for-tires-solution/

Установите этот модуль прямо сейчас!

www.acrit-studio.ru

Экспорт товаров в Google Merchant Center

Технические данные

IN-Ajour 40 3 antilope
IN-Ajour 40 4 nero
Здесь в name взято из торгового предложения IN-Ajour 40 3 antilope один товар, а в описании description взято другое торговое предложение, а не описание товара из карточки товара. Как это настроить правильно.
Оптимально было бы для вас снять несколько роликов с примерами настроек для разных групп (типов) товаров и выложить на YouTube. Ваш оборот и рейтинг вырос бы в РАЗЫ!
О лишних настройках. Лишние настройки для Merchant Center нужны именно под стандарты Google!

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

Пользуемся несколько месяцев.

Здравствуйте.
По умолчанию такой возможности нет, но можно доработать выгрузку.
Нужное свойство можно вытащить методом CIBlockElement::GetProperty
Например:
$znach_svoistva = CIBlockElement::GetProperty($IBLOCK_ID, $row[«ID»], array(«sort» => «asc»), Array(«CODE»=>»ZAGOLOVOK»));
Только вместо ZAGOLOVOK нужно указать код нужного свойства, если инфоблок отличается от стандартного вместо $IBLOCK_ >».yandex_text2xml($znach_svoistva, true).» n»; в файл /bitrix/modules/vsfr.merchant/load/yandex_run.php по аналогии с другими свойствами.

Что бы при обновлении файл не затирался, можно дорабатывать по аналогии со стандартной выгрузкой в яндекс маркет. Т.е. нужно скопировать из папки /bitrix/modules/vsfr.merchant/load файлы yandex_run.php и yandex_setup.php, и перенести их в папку /bitrix/php_interface/include/vsfr.merchant при этом изменив первую часть названия файлов, например, test_run.php и test_setup.php. После этого все изменения нужно будет вносить в файл test_run.php, так изменения не будут затираться. При создании нового профиля нужно будет выбирать тип не yandex, а test.

1.3.1 (18.03.2019) Исправление model в типе merchant
1.3.0 (21.02.2019) Добавлена возможность выбора дополнительных свойств
1.2.9 (18.02.2019) Исправлен вывод спецсимволов
1.2.8 (19.06.2018) Изменения для сайтов с небольшим количеством оперативной памяти
1.2.7 (19.03.2018) Исправлены проблемы с последней версией FireFox
1.2.6 (14.03.2018) Изменен вывод базовой валюты
1.2.5 (02.03.2018) Добавлен тег g:custom_label_0 Теперь в каждом фиде формируется тег с названием файла файла выгрузки. Тег нужен для разделения фидов по разным кампаниям
1.2.4 (30.01.2018) Добавлен тег g:sale_price для товаров со скидками
1.2.3 (20.10.2017) Исправлен вывод id для торговых предложений
1.2.2 (13.09.2017) Дополнительные правки для автоматической выгрузки через cron
1.2.1 (13.09.2017) Правки для автоматической выгрузки через cron
1.2.0 (23.08.2017) Добавлена пошаговая выгрузка, изменен способ выбора данных
1.1.2 (28.06.2017) Изменен вывод тега для редких настроек каталога
1.1.1 (16.06.2017) Изменения для тега Теперь значение тега берется в начале из анонса товара, если его нет, то из подробного описания, если нет и подробного описания, то берется значение meta description.
1.1.0 (07.06.2017) Добавления возможность отключить выгрузку недоступных к покупке товаров Добавлен id товара к адресу для торговых предложений
1.0.9 (05.06.2017) Изменен протокол выгрузки
1.0.8 (05.06.2017) Убраны лишние параметры настроек
1.0.7 (22.05.2017) Исправлены проблемы со статусом доступности товаров
1.0.6 (22.05.2017) Подправленны ссылки выгрузки
1.0.5 (15.05.2017) Исправлена инструкци cron
1.0.3 (24.10.2016) Исправления для вывода наличия товаров.

1. После установки модуль появится в Магазин -> Экспорт в Гугл Мерчант;
2. Перейдите в модуль и создайте новый профиль;
3. Выберите инфоблок для экспорта после чего появятся группы товаров;
4. Отметьте нужные Вам группы товаров;
5. Нажмите кнопку Настроить;
6. В настройках укажите Условие отбора. Например: Все продложения товара;
7. Введите Доменное имя и Имя профиля;
8. Нажмите Сохранить;
9. После сохранения нажмите на имя профиля;
10. После нажатия на имя профиля появится ссылка на файл экспорта в Гугл Мерчант.

Запуск через cron:
Помимо автоматического через меню настроек профиля, можно запускать задачу в ручном режиме. Для этого в файле bitrix/php_interface/include/vsfr.merchant/cron_frame.php нужно заменить #PHP_PATH# на путь к php (строка вида /user/bin/php) и realpath(dirname(__FILE__).’/../../../../’) на путь до корневой папки сайта (строка вида «/home/a/test/public_html/»).
Запустить ssh и в консоли открыть крон для записи командой: crontab -e
После этого прописать в нем строку:
00 00 * * * php -f /home/a/test/public_html/bitrix/php_interface/include/vsfr.merchant/cron_frame.php 2

00 00 * * * — указывается для запуска скрипта в 12 часов ночи ежедневно
php -f указывается для php скрипта
Строку /home/a/test/public_html/ нужно заменить на свой путь до корневой папки сайта
Аргумент 2 в конце строки — нужно заменить на номер id профиля выгрузки. Если агрумент не будет указан, в скрипте будет использован профиль под номером 1

marketplace.1c-bitrix.ru

Поделиться:
Нет комментариев

Добавить комментарий

Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.

Adblock
detector