Кастомизация экспорта в Яндекс.Маркет на примере добавления тега sales_notes
Кастомизация экспорта в Яндекс.Маркет на примере добавления тега sales_notes
Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
Кастомизация экспорта в Яндекс.Маркет на примере добавления тега sales_notes
Задача довольно распространенная, однако, почему-то, вызывает трудности у большинства клиентов. Сама логика формирования YML файла заложена в ядре продукта - в /bitrix/modules/catalog/load/yandex_run.php. Однако, данный файл подключается не на прямую, а через обертку - /bitrix/php_interface/include/catalog_export/yandex_run.php, что оставляет нам шанс изменить логику формирования без правки ядра продукта.
Файл /bitrix/modules/catalog/load/yandex_run.php мы копируем в /bitrix/php_interface/include/catalog_export/ с заменой, затем вносим правку, чтобы реализовать свою логику.
Например, нам нужно добавить очень важный тег sales_notes - нужен для информации о необходимости предоплаты, о том, что товар только под заказ, об акциях и прочей мелкой, но важной информации. Судя по документации, он должен идти сразу после тега description (описания).
Добавим в начало файла строку (содержание тега можно вписать на свой вкус):
$sales_notes_value = "Под заказ";
Затем ищем, где формируются теги для каждого товара и добавляем:
case 'sales_notes':
$strTmpOff .=
"<sales_notes>".yandex_text2xml($sales_notes_value)."</sales_notes>\n";
break;
Данную правку нужно сделать еще в 3 местах, в итоге получаем готовый файл, который можно скачать (windows-1251)
Как видно, ничего сложного в добавлении своих тегов нет!