Маркетолог подготовил таблицу со 100 товарами. У каждого товара есть название, цена и короткое описание. Каждую карточку можно добавить вручную, но это займет много времени и повысит риск ошибок.
В такой ситуации помогает массовая загрузка: вы готовите таблицу, загружаете ее в Битрикс, и каждая строка становится отдельным товаром.
Начинаем с инфоблока
Сразу загружать весь каталог рискованно, поэтому пойдем безопасным маршрутом: создадим учебный инфоблок, сделаем шаблон таблицы, загрузим небольшую партию товаров и проверим результат.
Инфоблок задает структуру будущих карточек товаров: поля хранят основные данные, а свойства добавляют нужные характеристики. Перед загрузкой таблицы важно проверить эту структуру, чтобы колонкам было куда попасть при импорте.
В этом уроке используем CSV — формат для таблиц с однотипными строками. Его можно открыть в табличном редакторе и проверить данные перед загрузкой.
Сначала перейдите в админку: Контент > Инфоблоки > Типы инфоблоков > Каталоги. Нажмите Добавить инфоблок. Для этого нужны отдельные права. Если кнопки нет, попросите администратора подготовить учебный инфоблок.
Появится окно добавления инфоблока. На вкладке Инфоблок укажите название. В уроке используем Учебный каталог товаров, но вы можете выбрать свой вариант. В поле Сайты: отметьте сайт, где будет использоваться каталог.
Остальные настройки пока оставим без изменений. Для учебного импорта достаточно названия, сайта и нужных полей для товара. К SEO, правам доступа и другим параметрам можно вернуться позже.
Решаем, какие данные хранить у товара
Основные поля для названия и описания в инфоблоке уже есть. Дополнительно нам нужна цена, поэтому создадим для нее отдельное свойство.
Перейдите на вкладку Свойства и добавьте новое свойство:
- Название — Цена.
- Тип — Число.
- Код — PRICE.
Код нужен Битриксу, чтобы отличать одно свойство от другого. После этого сохраните настройки инфоблока.
В этом уроке массово загрузим названия, цены и описания. Изображения в пробный CSV не включаем: способ их загрузки зависит от того, как устроен каталог. Если изображения нужны в импорте, сначала уточните требования у администратора.
Когда инфоблок создан и свойство цены добавлено, у нас есть место, куда попадут товары из таблицы. Теперь подготовим CSV-шаблон.
Если инфоблок нужен для интернет-магазина, в его настройках включают опцию Является торговым каталогом. Товары остаются элементами инфоблока, а цены, валюты и остатки настраиваются средствами магазина.
Импорт для такого каталога запускают через Магазин > Настройки > Импорт данных. Принцип остается знакомым: выбрать файл, сопоставить колонки и проверить пробную загрузку.
Добавляем первый товар для шаблона
Чтобы не угадывать структуру таблицы, возьмем пример из самого инфоблока. Сначала добавим один товар, а потом выгрузим его в CSV. Так мы увидим, какие колонки нужны для обратной загрузки.
-
Откройте созданный инфоблок: Контент > Каталоги и нажмите Добавить элемент.
-
Заполните название и цену.
-
На вкладке Подробно укажите короткое описание и сохраните элемент.
После экспорта в CSV первый товар станет строкой шаблона. По ней будет видно, где находится название, описание, цена и внешний код.
Получаем шаблон для таблицы
Теперь выгрузим первый товар в CSV. Так мы получим файл с нужными колонками и сможем использовать его как шаблон для импорта.
- Вернитесь в админку и откройте Инфоблоки > Экспорт > CSV.
- В поле Информационный блок для экспорта выберите тип инфоблока Каталоги и созданный инфоблок.
- Нажмите Далее.
Если пункта экспорта нет, попросите администратора выгрузить шаблон или дать права.
Дальше задайте формат будущего файла:
- В поле Разделитель полей выберите точку с запятой.
- Включите настройку Первая строка содержит имена полей.
Разделитель показывает Битрикс, где заканчивается одна колонка и начинается другая. Первая строка с именами полей добавляет в CSV понятные заголовки.
Отметьте данные, которые нужны в CSV:
- название,
- детальное описание,
- цена,
- внешний код.
Внешний код можно использовать для сопоставления товаров при повторной загрузке. Чтобы обновлять существующие элементы, а не создавать новые, сохраняйте прежние внешние коды и правильно сопоставляйте их при импорте. Путь к файлу не меняйте и нажмите Начать выгрузку.
Когда экспорт завершится, скачайте готовый файл. Браузер сохранит его в папку Загрузки, если не выбирали другое место.
Откройте файл в Excel или другом табличном редакторе. Найдите строку с названиями колонок и строку с товаром-образцом.
Посмотрите, в каких колонках находятся основные данные. Эти колонки понадобятся на шаге сопоставления: при импорте мы свяжем их с полями инфоблока.
Файл из новостей не подойдет для каталога товаров. У разных инфоблоков разные поля, свойства и правила заполнения.
Сохраняем структуру шаблона и добавляем товары
Шаблон на руках — теперь собираем свой файл по образцу.
Сделайте копию выгруженного файла и удалите строку с товаром-образцом. После экспорта в первой строке будут технические названия колонок — их можно переименовать, чтобы проще ориентироваться в таблице.
Первую строку не удаляйте: она понадобится при сопоставлении колонок с полями инфоблока.
Затем добавьте товары из вашей таблицы или из учебного примера ниже. Каждый товар должен занимать отдельную строку. Для пробной загрузки возьмите первые пять товаров: на небольшом файле легче проверить колонки, цену и внешний код до загрузки всего каталога.
Для пробной загрузки достаточно колонок Название, Цена, Описание и Внешний код. В первом файле не меняйте их порядок — так будет легче сравнить таблицу с шаблоном.
| Колонка | Что указать |
|---|---|
| Название | Название товара |
| Цена | Число в том же формате, что и в выгруженном шаблоне |
| Описание | Короткое описание товара |
| Внешний код | Стабильное значение для сопоставления товара при повторном импорте |
Сохраните таблицу в формате CSV и выберите кодировку сайта, например UTF-8. Кодировка определяет, как файл хранит буквы. Если выбрать неподходящий вариант, русские названия могут отображаться некорректно.
Загружаем файл и сопоставляем колонки
Файл готов — теперь вернемся в админку и загрузим товары в созданный инфоблок.
- Откройте Контент > Инфоблоки > Импорт > CSV.
- В поле Файл данных добавьте подготовленный CSV через кнопку выбора файла.
- В поле Информационный блок укажите тип инфоблока и созданный инфоблок.
- Нажмите Далее.
В открывшемся окне задайте формат файла:
- Отметьте, что информация в файле записана с разделителями.
- Выберите тот же разделитель, который использовали при экспорте.
- Включите настройку Первая строка содержит имена полей.
- Нажмите Далее.
На шаге сопоставления свяжите колонки таблицы с полями инфоблока. Проверьте, куда попадут название, описание и цена.
Колонку Внешний код свяжите с полем Уникальный идентификатор (XML_ID). Так одно значение называется на разных этапах: в выгрузке — Внешний код, при импорте — Уникальный идентификатор. При повторной загрузке не меняйте эти значения: они используются для сопоставления элементов.
Для пробной загрузки:
- В поле Товары, которых не было в файле выберите Не трогать.
- Нажмите Загрузить данные.
Битрикс загрузит товары из файла, но не изменит уже созданные товары, которых нет в CSV.
Если колонки сопоставлены неверно, исправить пять карточек легче, чем весь каталог. На рабочем сайте не запускайте импорт сразу. Сначала согласуйте файл с ответственным за каталог и убедитесь, что есть свежая резервная копия.
Проверяем результат в карточках товаров
После импорта Битрикс покажет отчет: сколько товаров загрузилось и были ли ошибки. Отчет подтверждает, что импорт завершился, но данные лучше проверить в самих карточках.
Откройте список товаров созданного инфоблока: Контент > Инфоблоки > Типы инфоблоков > Каталоги. Убедитесь, что товары из CSV появились в списке. Затем откройте несколько карточек и проверьте:
- название отображается без ошибок,
- цена записана в свойство Цена,
- описание попало в нужное поле,
- товар активен, если его нужно показывать на сайте.
Исправляем ошибки импорта
Если что-то загрузилось не так, проверьте файл и настройки импорта. После исправления повторите загрузку на нескольких товарах.
| Что пошло не так | Почему так бывает | Что сделать |
|---|---|---|
| Названия отображаются непонятными символами | Кодировка CSV не совпадает с кодировкой сайта | Сохраните файл в кодировке сайта, например UTF-8 |
| Цена не загрузилась | Колонка сопоставлена не с тем свойством или число записано в неподходящем формате | Проверьте сопоставление и используйте формат из выгруженного шаблона |
| Появились дубли | При повторном импорте изменился или не был передан прежний XML_ID | Сопоставьте Внешний код с полем Уникальный идентификатор (XML_ID) и сохраняйте прежние значения |
| Не заполнено обязательное поле | В CSV нет обязательного поля или свойства инфоблока | Найдите обязательное поле в настройках инфоблока и добавьте соответствующую колонку |
| Дата не распозналась | Формат даты отличается от ожидаемого | Используйте формат даты из выгруженного шаблона |
Перед повторным импортом сохраняйте исправленный CSV отдельной версией. Так легче сравнить результаты и вернуться к предыдущему файлу.
Быстро возвращаемся к товарам после импорта
Пробная партия загружена. Когда вы проверите результат и тем же способом загрузите остальные товары, можно вернуться к отдельным карточкам: поправить описание, проверить цену или временно скрыть товар.
Здесь пригодятся навыки из урока 3. Добавьте список товаров в Избранное, чтобы быстро возвращаться к нему после импорта.
Если карточка товара еще не готова к публикации, ее можно временно скрыть с сайта. Например, когда нужно изменить цену или описание. Скрыть товар можно так:
- Найдите товар в строке поиска по названию или его части.
- Откройте товар на редактирование.
- Снимите признак активности.
- Нажмите Применить. Изменения сохранятся, а форма останется открытой.
Массовый импорт не заменяет обычную работу в админке, а дополняет ее: большие партии загружаем таблицей, отдельные карточки проверяем и правим вручную.
Теперь вы знаете, как подготовить массовую загрузку: проверить инфоблок, собрать CSV, импортировать маленькую партию и только после проверки загружать полный каталог.
В следующем уроке разберем, как контент связан с видимостью и поиском: настроим SEO-поля и посмотрим, как права доступа влияют на то, кто увидит страницу или раздел.
А пока закрепите результат: ответьте на вопросы и выполните практику.
Выполните задание на тестовом или демосайте в отдельном инфоблоке. Тренируем подготовку файла, сопоставление колонок и проверку результата.
Подготовьте таблицу с товарами для магазина одежды:
| Название | Цена | Описание | Внешний код |
|---|---|---|---|
| Футболка Basic белая | 1290 | Хлопковая футболка для повседневной носки | TSHIRT-BASIC-WHITE |
| Рубашка Oxford голубая | 3490 | Рубашка из плотного хлопка для офиса | SHIRT-OXFORD-BLUE |
| Джинсы Straight темно-синие | 4990 | Джинсы прямого кроя | JEANS-STRAIGHT-DARKBLUE |
| Куртка Softshell черная | 7990 | Легкая куртка для прохладной погоды | JACKET-SOFTSHELL-BLACK |
| Рюкзак City серый | 2590 | Рюкзак с отделением для ноутбука | BACKPACK-CITY-GREY |
Загрузите данные в учебный каталог:
- Откройте созданный инфоблок с товарами через меню Контент > Каталоги. Если добавили раздел в Избранное, можно перейти через него. Проверьте, что в карточке товара есть поля для названия, цены и детального описания.
- Если элемента-образца нет, добавьте любой товар: укажите название, цену и описание.
- Выгрузите шаблон через Контент > Инфоблоки > Экспорт > CSV. Сделайте копию выгрузки, удалите строку элемента-образца и подготовьте свой CSV.
- Запустите импорт через Контент > Инфоблоки > Импорт > CSV. Добавьте CSV-файл, выберите тип Каталоги, ваш инфоблок и тот же разделитель, который использовали при экспорте.
- Сопоставьте название, цену, описание и внешний код с подходящими полями инфоблока. Нажмите Загрузить данные и дождитесь результата.
- Посмотрите список товаров и убедитесь, что новые товары появились рядом с элементом-образцом. Откройте несколько товаров и проверьте, что данные из CSV попали в нужные поля.