Импорт товаров из CSV

Импорт из файла в формате CSV

Позволяет загрузить в интернет-магазин прайс-лист товаров в формате CSV файла. Перейдите в раздел КонтентИнтернет-магазины. Выберите магазин, далее пункт меню ТоварИмпорт товаров.

Первая строка прайс-листа должна содержать наименования полей. Далее каждая строка содержит информацию о товаре. Группы указываются в разных столбцах в порядке их вложенности. Например, «Робот трансформер» содержится в группе «Игрушки», которая содержится в группе «Детские товары». Так как для ластика вторая группа не указана, то он содержится в группе «Канцтовары». Уровень вложенности групп не ограничен.

Артикул товара или CML ID товара должны идти перед остальными атрибутами товара.
Товар в процессе импорта может быть найден по CML ID товара, артикулу товара, пути товара, vendorCode (с версии 6.9.4) или идентификатору товара.

Подготовленный прайс-лист необходимо сохранить в формате CSV с разделителем запятые или точки с запятой, для этого выберите ФайлСохранить какТип файла: CSV (разделитель — запятые).

При импорте дат используется SQL-формат ГГГГ-ММ-ДД ЧЧ:ММ:СС, например, 2012-12-31 23:59:59.
Microsoft Excel® производит сохранение в CSV с разделителем «Точка с запятой» и кодировкой «Windows-1251».

Поле Описание
Выберите тип файла Тип загружаемого файла, выберите «CSV-файл»
Файл  Файл загрузки, нажмите «Обзор» и укажите загружаемый файл
Первая строка содержит имена полей Флаг, указывающий на то, содержит ли первая строка имена полей
Разделитель Разделитель для столбцов. Может принимать три значения:
  • Запятая
  • Точка с запятой (при сохранении из Microsoft Excel®)
  • Другой (укажите символ разделителя в поле)
Ограничитель Ограничитель для полей, может принимать значения:
  • Кавычки
  • Другой (укажите символ ограничителя)
Кодировка Выберите кодировку файла. Если кодировка не соответствует UTF-8, то для корректного импорта файла необходимо создать активную константу ALT_SITE_LOCALE, которая должна содержать альтернативную локаль.
Например, если импорт ведется из CSV-файла в кодировке Windows-1251, то указанная константа должна иметь в своем значении наименование локали для этой кодировки, чаще всего это ru_RU.CP1251.
Родительская группа для загрузки товаров Загружать товары можно в корневую группу каталога или в выбранную из списка
Путь для внешних файлов Путь для внешних файлов, используется при указании имен или путей файла в полях файла, например, для изображений в каталоге товаров.

Имеется две возможности указывать путь для внешних файлов:
1. Относительный путь, например, /images/, данные будут загружаться из директории images в корне сайта
2. URL, например, http://www.site.ru/path/, данные загружаются из внешнего сайта.

При формировании запроса к файлу объединяются путь для внешних файлов и значение прайс-листа.

Например, относительный путь /images/, значение прайс-листа myimage77.jpg — система запросит файл /images/myimage77.jpg

Действие для существующих товаров Действие для существующих товаров имеет следующие варианты:
  • Обновить информацию для существующих товаров.
  • Оставить без изменений.
  • Удалить существующие товары (переместит все товары и группы товаров магазина в корзину).
Удалять изображения товаров при обновлении Удалять изображения для элементов товара, если эти изображения не переданы или пусты
Удалять существующие значения дополнительных свойств Удалять существующие значения свойства товара перед импортом новых значений
Удалять непереданные модификации, созданные по свойству Если при импорте выбирается столбец для создания модификаций по значениям свойств, то все модификации такого товара, которые будут отсутствовать в файле, будут удалены в корзину
Использовать событийную индексацию при вставке групп товаров и товаров Товары и группы будут индексироваться непосредственно в процессе импорта, может замедлять процесс импорта
Максимальное время выполнения Максимальное время выполнения загрузки прайс-листа, указывается в секундах, необходимо при загрузке больших прайс-листов и при наличии ограничения времени выполнения скрипта на сервере
Максимальное кол-во импортируемых за шаг Указывается максимальное количество товаров, импортируемых за шаг, необходимо при загрузке больших прайс-листов и при ограниченных ресурсах сервера
Задержка (в сек.) Время ожидания между этапами импорта
Строк в документе В процессе импорта создаются документы инвентаризации и установки цен, указанное ограничение влияет на количество записей в каждом из документе, при превышении будет создаваться новый документ.

Второй этап загрузки файла состоит в указании соответствия загруженных полей

Поле Описание
Импортируемые поля Список полей загруженного прайс-листа и их соответствия полям магазина

Импорт модификаций

Импорт модификаций товара возможен при использовании поля "Артикул родительского товара для модификации" или "CML ID родительского товара для модификации", в CSV-файле используйте только одно из этих полей. Данное поле должно быть расположено слева от данных о товаре.

Создание модификаций на основе дополнительных свойств

Система предлагает создание модификаций товара на основе значений дополнительных свойств, такой столбец должен начинаться по схеме "Модификации по {Название-свойства}", например, "Модификации по Размер" и содержать варианты значений дополнительного свойства.

При указании нескольких столбцов, модификации будут проверяться и создаваться по пересечению всех указанных свойств, например, если в столбце "Модификации по Размер" будут указаны "XS,S,M,L", а в столбце "Модификации по Цвет" будут указаны "Синий, Красный, Зеленый", то будет проверено и создано 4 * 3 = 12 модификаций.

В процессе импорта модификации будут созданы только в случае, если у товара отсутствуют модификации с заданным набором свойств, существующие модификации при этом никак не затрагиваются.

Для удаления лишних модификаций используйте опцию "Удалять непереданные модификации, созданные по свойству".

* с версии 6.9.8.

Импорт дополнительных свойств

При импорте свойств в CSV должны быть все значения свойства товара. Если в файле есть хоть одно значение дополнительного свойства для товара, то старые значения свойства у этого товара удаляются и загружаются новые значения из CSV-файла.

Значения свойств располагаются на той же строке, что и основные данные о товаре. Множественные значения свойств располагаются на дополнительных строках, в которых кроме значений свойств должны быть указаны артикул товара или CML ID.

Конфигурационный файл импорта из CSV

Конфигурационный файл размещается в modules/shop/config/csv.php и содержит опции:

<?php

return array(
	'maxTime' => 20,
	'maxCount' => 100,
	'itemSearchFields' => array('marking', 'path', 'cml_id', 'vendorcode'),
);

Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.

Комментарии

  • Без темы

    Есть какая-то разница между импортом по "CML ID" и "Идентификатору товара" ?
    Для чего было сделаны 2 разных кода товара?

    01.03.2021 14:58:23
    nikvel

    Без темы

    Идентификатор - это числовой идентификатор товара (в списке товаров поле Код), "CML ID" - это GUID, сгенерированный системой или полученный при обмене из 1С.

    01.03.2021 15:31:45
    hostcms

    Без темы

    Пытаюсь отловить ошибку при импорте: смещаются значение строк.
    Табличная часть из 30 тыс. строк, иногда загрузка корректно отрабатывает, иногда нет.
    Субъективно кажется, что при импорте "по идентификатору товара" число идентификатора цепляется к значением полей (или наоборот). Особенно, когда обновляются описания, где есть "/;"'% и пр. символы.
    Как такового вопроса нет, так как нет четкого сценария воспроизведения. Может быть было такое у вас в практике? Импорт осуществляется через ссылку на google sheet.

    Сейчас все выгрузки реализованы через идентификатор. Тестово пробую импорт через CML ID - как будто бы лучше.

    01.03.2021 19:56:29
    nikvel

    Без темы

    Подобные проблемы не фиксировались, вопрос к документации не имеет отношения.

    02.03.2021 10:24:24
    hostcms
  • Ограничитель

    Ограничитель Другой (укажите символ ограничителя) -
    минут 5 искал поле для ввода символа ограничителя.
    Его бы как-нибудь поближе к кнопке передвинуть

    09.06.2020 10:20:21
    nikvel
  • При импорте разделов массивом полей, по которым может быть найден раздел является "Название раздела"

    При импорте разделов массивом полей, по которым может быть найден раздел является "Название раздела"
    А хотя мне нужно чтобы массивом полей, по которым может быть найден раздел являлся "CML GROUP ID идентификатор группы товаров"
    Как это сделать?

    30.05.2020 01:27:07
    aporf
    aporf

    Без темы

    При выборе соответствия есть опция "CML GROUP ID идентификатор группы товаров".

    01.06.2020 09:52:47
    hostcms
  • Удалять существующие значения дополнительных свойств

    Можете уточнить по появившимся флажку "Удалять существующие значения дополнительных свойств": в чём отличие от поведения, которое было раньше?
    При загрузке и так удалялись "существующие значения дополнительных свойств" и перезаписывались новыми. Если нужно очистить - можно поставить вручную пустое значение и перезагрузить.
    И смущает предустановленное состояние флажка при импорте.
    Если импортирую к примеру только прайс, и забуду снять флажок - все доп.свойства очистятся?

    22.04.2020 12:00:28
    nikvel

    Без темы

    При импорте есть разные ситуации. Во первых есть два вида свойств - с множественным и значением и без оного. Во вторых при импорте со множественными значениями часто ситуации, когда нужно не дописать новое значение в перечень значений, а обнулить имеющиеся значения и добавить новые. Чтобы управлять этим поведением и была вынесена опция.
    Если вы не импортируете значения свойств, то значения свойств НЕ очистятся. Обработка свойства и очистка значения для конкретного элемента происходит при поступлении значения именно этого свойства для импортируемого товара.

    22.04.2020 12:45:30
    hostcms

    Хорошо бы была возможность при импорте и изменять на "пустое" ненужные значения свойств

    Часто бывает необходимо "почистить" нулевые значения или просто убрать значения свойств которые уже не нужны. И приходится обращаться к sql запросам и тратить много времени. Да и с запросами нужно быть поаккуратней чтобы лишнего не удалить.

    Как предложение: хорошо было бы иметь в меню импорта чекбокс, например "Удалять значения свойств со значением "удалить! (или придумать другое значение или символ)"
    В импортируемом файле мы заменяем ненужные значения этим "удалить!" и после импорта получаем пустые значения свойств.

    13.03.2021 15:09:11
    MaximM
    MaximM

    Без темы

    Спасибо

    22.04.2020 14:21:57
    nikvel
  • Количество товара

    При импорте можно задать количество товара на складе? (как при создании товара вручную)

    23.05.2019 19:04:18
    yus
    yus

    Без темы

    Да, для каждого склада есть отдельный пункт в выпадающем списке соответствий.

    27.05.2019 08:49:56
    hostcms
  • раздел

    День добрый! как сделать экспорт/импорт картинок разделов в csv, есть возможность экспорта/импорта только изображений товара

    04.07.2018 09:41:42
    santekom
    santekom

    Без темы

    Экспорт производится целиком, если есть нужные данные, то экспортированный файл просто урезаете, оставляя требуемые значимые столбцы.
    При импорте выбираются поля и их соответствия.

    04.07.2018 09:43:57
    hostcms

    Без темы

    к сожалению если открыть импортируемый файл csv то там нет колонки изображение раздела, а есть только изображение товара

    04.07.2018 09:50:39
    santekom
    santekom

    Без темы

    Обратитесь в поддержку, чтобы добавили экспорт ссылки на изображение.

    04.07.2018 09:52:07
    hostcms

    Без темы

    обратился. но к сожалению кончился срок поддержки. а самосотоятельно в какой файл можно чего вставить, чтоб реализовать данную функцию?

    04.07.2018 10:09:01
    santekom
    santekom

    Без темы

    Вам нужно в личном кабинете продлить период технической поддержки для вашей лицензии.

    04.07.2018 10:09:53
    hostcms
  • производители

    очень нужен импорт производителей!!!

    06.05.2018 07:56:41
    EZ-Web
  • Без темы

    а за что отвечает это ChekBox - "Использовать событийную индексацию при вставке групп товаров и товаров" ?

    20.01.2016 01:01:45

    Без темы

    При его включении при импорте товар будет индексироваться для поиска. Но это увеличивает время импорта.

    20.01.2016 09:27:21
    alexander.egorov