Если в Яндекс.Маркете отсутствуют нужные категории, это может привести к некорректному отображению товаров. Решение — изменить названия разделов в выгрузке, чтобы они соответствовали требованиям маркетплейса.
Пример итогового результата
<category id="120">Кнопка «Engine Start Stop»</category>
<category id="152" parentId="120">Кнопка старт стоп</category>
<category id="153" parentId="120">Модули запуска двигателя</category>
<category id="115">test</category>
<category id="130" parentId="115">Блоки розжига ксенона</category>Обратите внимание на категорию 115 — в выгрузке указано тестовое название. Исправим это за 2 шага.
Шаг 1. Создание дополнительного свойства
-
Перейдите в админку Битрикс → откройте каталог.
-
Найдите нужный раздел и нажмите на его ID.
-
Во вкладке «Доп. поля» создайте свойство с кодом
UF_YANDEX.
Шаг 2. Добавление кода в файл выгрузки
-
Откройте файл выгрузки (находится в
/bitrix/php_interface/include/catalog_export/ИМЯ_ФАЙЛА_run.php). -
Найдите блок кода, отвечающий за категории (примерно строка 1070):
$sectionIterator = CIBlockSection::GetList(
array('LEFT_MARGIN' => 'ASC'),
array_merge($filter, $permissionFilter),
false,
array('ID', 'IBLOCK_SECTION_ID', 'NAME')
);-
Замените его на этот код:
$sectionIterator = CIBlockSection::GetList(
array('LEFT_MARGIN' => 'ASC'),
array_merge($filter, $permissionFilter),
false,
array('ID', 'IBLOCK_SECTION_ID', 'NAME', 'UF_YANDEX')
);
while ($section = $sectionIterator->Fetch())
{
if ($section['UF_YANDEX'] != false) {
$section['NAME'] = $section['UF_YANDEX'];
}
$section['ID'] = (int)$section['ID'];
$section['IBLOCK_SECTION_ID'] = (int)$section['IBLOCK_SECTION_ID'];
$arAvailGroups[$section['ID']] = $section;
$arSectionIDs[$section['ID']] = $section['ID'];
if ($intMaxSectionID < $section['ID'])
$intMaxSectionID = $section['ID'];
}Что изменилось?
-
Добавлено поле
UF_YANDEXв выборку. -
Если свойство заполнено, название категории заменяется на значение из
UF_YANDEX.
Финализация
-
Заполните
UF_YANDEXдля нужных категорий. -
Перейдите в Магазин → Экспорт и перевыгрузите данные.
Теперь категории в выгрузке будут отображаться с оптимизированными названиями, что улучшит их соответствие требованиям Яндекс.Маркета.