Назад

Как изменить название категорий в выгрузке Битрикс для Яндекс.Маркета

Главная
Блог
Как изменить название категорий в выгрузке Битрикс для Яндекс.Маркета

Если в Яндекс.Маркете отсутствуют нужные категории, это может привести к некорректному отображению товаров. Решение — изменить названия разделов в выгрузке, чтобы они соответствовали требованиям маркетплейса.

Пример итогового результата

<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. Создание дополнительного свойства

  1. Перейдите в админку Битрикс → откройте каталог.

  2. Найдите нужный раздел и нажмите на его ID.

  3. Во вкладке «Доп. поля» создайте свойство с кодом UF_YANDEX.

Шаг 2. Добавление кода в файл выгрузки

  1. Откройте файл выгрузки (находится в /bitrix/php_interface/include/catalog_export/ИМЯ_ФАЙЛА_run.php).

  2. Найдите блок кода, отвечающий за категории (примерно строка 1070):

$sectionIterator = CIBlockSection::GetList(
    array('LEFT_MARGIN' => 'ASC'),
    array_merge($filter, $permissionFilter),
    false,
    array('ID', 'IBLOCK_SECTION_ID', 'NAME')
);

  1. Замените его на этот код:

$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.

Финализация

  1. Заполните UF_YANDEX для нужных категорий.

  2. Перейдите в Магазин → Экспорт и перевыгрузите данные.

Теперь категории в выгрузке будут отображаться с оптимизированными названиями, что улучшит их соответствие требованиям Яндекс.Маркета.

Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Читайте по теме
Все статьи
Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Все статьи