Настройка выгрузки товаров в Яндекс Маркет с сайта Битрикс

Просмотров: 40455

Настройка выгрузки в Яндекс маркет в формате yml, выполняется достаточно просто, кроме одной заморочки: в типовой поставке нет выгрузки "sale_notes" - ныне, обязательного параметра, без которого вашу выгрузку не примут в Яндекс-маркет. Расскажу как его добавить.

Статья написана более четырех лет назад. На данный момент утратила свою актуальность (хотя, все описанное в статье сработает). Рекомендую использовать официальный модуль: Подготовка прайс-листа для Маркета и Беру - все настраивается очень гибко, со всеми необходимымы полями и настройками.
А эту заметку можно использовать для формирования не стандартных прайс листов.

Настройка штатной выгрузки

Для начала настроим штатную выгрузку без тега sale_notes. Для этого идем в административную часть сайта, далее: Магазин- Настройки-Экспорт данных. Здесь уже есть готовые пресеты для выгрузок в разных форматах. Но мы создадим новую: нажимаем зеленую кнопку "Добавить профиль" и выбираем Yandex в выпадающем меню

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

Сохраняемся и снова заходим в список выгрузок. На против вновь созданной выбираем в выпадающем списке "Экспортировать". После небольшого или большого ожидания (зависит от объема вашего каталога), сверху вам выдаст ссылку на сгенерированый файл выгрузки. Ее-то и нужно подгрузить в яндекс-маркет


Осталась одна проблема, у товаров не будет тега sale_notes

Добавляем sale_notes в выгрузку битрикс

Нужно кастомизировать файл yandex_run.php который расположен по пути /bitrix/php_interface/include/catalog_export. Открываем его на редактирование, и примерно в 22 строку, до перечисления всех параметров товаров добавляем строку:


	 $sales_notes_value = "Предоплата 100 процентов";

И находим часть отвечающую за генерацию тегов, примерно после 873-ей строки (break завершающий генерацию тега "name" с названием товара), вставляем:


	 case 'sales_notes': $strTmpOff .= "<sales_notes>".yandex_text2xml($sales_notes_value)."</sales_notes>\n"; break;

В общем-то и все, снова генерируем файл выгрузки, и теперь он будет с необходимым тегом. Само собой вместо фразы "Предоплата 100 процентов", вставляете свое условие для продажи товора.

Sergey400 19.02.2018
Добрый день! Спасибо за статью. НО... после проделанных операций в файле bitrix/php_interface/... не сохраняются вводимые данные, сбрасываются на те, которые были. Подскажите пожалуйста в чем может быть проблема. Заранее спасибо+кофе с печеньками)
Михаил Базаров 20.02.2018
Цитата
Sergey400 написал:
Добрый день! Спасибо за статью. НО... после проделанных операций в файле bitrix/php_interface/... не сохраняются вводимые данные, сбрасываются на те, которые были. Подскажите пожалуйста в чем может быть проблема. Заранее спасибо+кофе с печеньками)
Так тяжело подсказать, но скорее всего у вас просто нет права записи в эту директорию. Попробуйте проделать это не через панель битрикса, а на пряму по FTP/SFTP
dm.sagitov@yandex.ru 22.09.2018
Добрый день. Скажите, можно ли загружать в Маркет только выборочные товары, а не разделы?
Михаил Базаров 22.09.2018
Цитата
dm.sagitov@yandex.ru написал:
Добрый день. Скажите, можно ли загружать в Маркет только выборочные товары, а не разделы?
Точно не знаю, ни разу не приходилось в этом плане "ковырять"
Но, из быстрого способа: Можно сложить товары в отдельный раздел и выбрать его
По сути, можно назначить товарам два раздела, один настоящий, второй чисто для выгрузки.
Этот второй, вообще не показывать пользователям сайта
Но в ссылках в yml-ке должны вести на основной раздел
Кастор Трой 11.12.2018
Не совсем понятно. Если файл yandex_run.php  нельзя править в ядре /bitrix/modules/catalog/load/.
А по пути /bitrix/php_interface/include/catalog_export он есть , но там как раз прописан include  из ядра.
Где же тогда вносить правки?
Александр Ульянов 11.10.2019
Михаил, спасибо за статью! Все получилось!
А  не подскажете, как добавить в выгрузку второй вид цен?
У меня розничная и оптовая цена. Оптовую нужно тоже выгрузить.
Михаил Базаров 11.10.2019
Цитата
Александр Ульянов написал:
Михаил, спасибо за статью! Все получилось!
А  не подскажете, как добавить в выгрузку второй вид цен?
У меня розничная и оптовая цена. Оптовую нужно тоже выгрузить.
Статья немного старовата, попробуйте вот эту штуку
https://marketplace.1c-bitrix.ru/solutions/yandex.market/
Она официальная и достаточно гибкая в плане настроек- думаю, все получится
Антон Науменко 12.02.2020
Доброго времени суток! Что-то пошло не так. Все сделал как описано в статье, но при повторном входе в настройки созданного мною экспорта в детальных настройках пропала вкладка "валюта и цены", а внесенные изменения во вкладке "настройка выгрузки" не сохраняются. Все это печально. Подскажите, в чем может быть проблема!!!
Михаил Базаров 12.02.2020
Цитата
Антон Науменко написал:
Доброго времени суток! Что-то пошло не так. Все сделал как описано в статье, но при повторном входе в настройки созданного мною экспорта в детальных настройках пропала вкладка "валюта и цены", а внесенные изменения во вкладке "настройка выгрузки" не сохраняются. Все это печально. Подскажите, в чем может быть проблема!!!
Заметка староватая.
Воспользуйтесь вот этим модулем
https://marketplace.1c-bitrix.ru/solutions/yandex.market/
Это официальный, от Яндекса - там все гибко настраивается.
Эдуард Валеев 03.03.2021
Есть необходимость выгружать описание товара обрамив тегами <[CDATA]> - не понимаю, где это настраивается... Не подскажете?