Документация anyCSV/XLS import/export PRO - 4

Импорт данных CSV, DSV, XLS, XLSX на OpenCart

Шаг 1. Настройки входящих данных

1. Подача файла или ссылки на файл CSV, DSV, XLS, XLSX в архиве zip или безархивации, выставление предварительных настроек

ДействиеСкриншетПримечание

1. Зайдите в модуль импорта anyCSV/XLS


Название модуля может отличаться в зависимости от версии или сборки модуля
2. Создайте новый профиль настроек или загрузите ранее сохраненный

3. Установите Разделитель, Ограничитель, Символ экранирования, Кодировку в соответствии с файлом (если Вы планируете загрузить файл в формате XLS, XLSX, то менять значения в этих настройках необязательно)

Как узнать Разделитель, Ограничитель, Кодировку файла, показано в соответствующих разделах этой инструкции


Количество доступных кодировок может отличаться в зависимости от версии модуля

4. Загрузите файл или скопируйте ссылку на нужный файл в поле "URL ссылка на файл". При использовании ссылки нужно обязательно указать протокол: http или https

Файл может быть заархивирован в архив zip

Если файл не загружается, пожалуйста, проделайте действия, описанные в разделе "Ошибки при загрузке файла или подаче ссылки"

Если ссылка не загружается, проверьте ссылку, как это указано в разделе "Источники данных: файлы, ссылки на файлы на других сайтах, авторизация, файлы в архиве", или в разделе "Ошибки при загрузке файла или подаче ссылки"

Если Вы импортируете файл в формате XLS, XLSX, также смотрите следующий раздел



5. Выставите дополнительные настройки перед начало проверки файла:

  • Режим синхронизации данных - если Вы планируете делать импорт не только в стандартные поля ОпенКарт, но и поля, которые были добавлены в базу данных, или в поля, которые скрыты от просмотра, то нужно выбрать "Выводить все поля базы". В случае, если импорт будет в стандартные поля, то оставьте эту настройку без изменений: Выводить только основные поля базы
  • Язык контента - укажите для какого языка контента сайта будет производиться импорт данных. Профиль импорта можно привязать только к одному языку. Если Вам нужен аналогичный профиль для другого языка, то создайте новый на его основе, как это показано в разделе "Сохранение профиля настроек"
  • Конвертация валюты (если будут передаваться цены) - укажите нужна ли конвертация валюты, если какие-либо цены на входе будут поступать не в итоговой валюте. В этом случае, при работе с любой ценой (в т.ч. наценках в опциях), если таковая будет, цена будет автоматически конвертироваться
  • Для магазинов - укажите к каким магазинам будут привязываться данные



2. Дополнительные настройки при импорте файлов в формате XLS, XLSX

При импорте данных в формате XLS, XLSX (файлы эксель), дополнительно проделайте следующие действия

ДействиеСкриншетПримечание
1. Выберите "Включено"

2. Укажите количество колонок файла, и строк, которые следует обрабатывать
У некоторых версия модуля этот функционал отсутствует

3. Завершение настоек, предварительная проверка файла и загрузка представления для настроек импорта данных

ДействиеСкриншет
Нажмите на "Проверить файл и загрузить данные для сопоставления"

Шаг 2. Настройки, импортируемых данных

1. Валидация файла перед началом создания настроек

Если проверка файла, настроенного на Шаге 1 прошла, и принципиально данные получены. То перед Вам появится представление шага 2.

Наверху будет доступна функция: "Результат проверки файла"

Нажмите на кнопку "Результат проверки файла, и проверьте правильность полученных данных

Удостоверьтесь, что количество строк соответствует количеству строк входящих данных

Удостоверьтесь, что найдено правильное количество колонок


Проверьте таблицу: колонки таблицы должны совпадать с колонками, импортируемого файла, а данные ниже должны соответствовать данным в последней строке файла

Если какие-то данные не соответствуют данным файла, убедитесь, что все предыдущие шаги, а в особенности выставление кодировки, разделителей и ограничителей, проделаны верно

Если у Вас возникают ошибки, к данному шагу не удается выйти, подробнее об ошибках смотрите в разделе Ошибки


2. Общие принципы представления и создания настроек по колонкам в модуле

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

Справа на рисунке файл расположен в программе Эксель

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


Справа от каждой колонки находится выпадающий список "Что импортируется"

Выберите сущность данных, для которой предназначена та или иная колонка файла и данные в ней. Если в колонке содержатся какие-либо данные для товаров, то выберите "Импорт товаров"

После того, как будет выбрана сущность данных из колонки "Что импортируется", справа появится функционал импорта, доступный для той или иной сущности данных.

Укажите настройки на каждую колонку файла

После появление настроек импорта сущности данных, сделайте настройку на каждую колонку

Подробнее о настройках, будет показано в следующих главах

3. Установка идентификатора товарам

Подробнее о базовых целях идентификации описано в разделе "Идентификация данных при обмене одних и тех же сущностей (продуктов, категорий, и пр.)"

В данном разделе описан алгоритм выставления идентификатора, импортируемым данным о товарах. Файл, используемый для импорта можно посмотреть здесь

ДействиеСкриншет
1. Откройте файл импорта в какой-либо программе, и выясните в какой колонке находится идентификатор товаров в файле. На примере справа, эта колонка называется "Артикул"
2. После действий, описанных в Шаге 1 и появления представления для настроек, на против колонки "Артикул" выберите Импорт товара, а в появившемся в колонке "Настройка колонки", выберите пункт "Идентификатор..."

3. Выберите, по какой колонке базы данных таблицы товара, проверять это значение

Если в колонке с идентификатором находится то, что у Вас на сайте находится в колонке Артикул, то выбирайте SKU, если Модель (Код товара) - то выбирайте MODEL, если Вы импортируете product_id, то выбирайте product_id и т.д. 

Если для идентификатора Вы используете кастомное поле, добавленное в таблицу товара, то оно также появится в списке, показанном справа

Также возможна идентификация по названию товара, или главной картинки товара


4. Выбирайте "добавить в базу", если при импорте (первом, например) нужно не только проверять, но и заводить это значение, если товар будет добавляться впервые
5. Если нужно пропускать строки файла, у которых отсутствует идентификатор, выберите пункт, показанный справа
6. Указание идентификатора закончено. В примере справа, выбрано, что идентификатор из файла находится в колонке Код товара (Модель), и при импорте, нужно заводить это у товара, если ранее такого товара не было
Составной идентификатор

Если необходимо при импорте добавлять префикс слева или справа, а также идентифицировать товары с учетом какого-либо префикса, то выставите эти настройки в области Шаг 1, как это показано на примере: установлен префикс слева: suppl_1_. В результате при импорте в данные Код товара будет добавляться:  suppl_1_X

Где X - это значение, которое будет поступать из файла, колонки Артикул, если рассматривать пример выше. А suppl_1_1 - это префикс, который будет поступать из данный настройки

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

У каждой колонки в базе данных есть тип данных и длина. Например, в качестве product_id могут быть использованы только целочисленные значения до 2147683648. Для полей модель, SKU, EAN и пр. могут использоваться текстовые значения, но у каждого поля также есть ограничение по длине от 32 до 64 символов. Если Вы используете длинные текстовые артикула, увеличьте допустимую длину нужных Вам колонок в базе данных, например, изменив тип данных на text, или просто установив вместо заданной длины, длину: 255 символов. Изменить тип данных у колонок той или иной таблицы можно через phpMyAdmin Вашего хостинга. При работе с базой данной, пожалуйста, делайте бекап базы средствами того же phpMyAdmin

4. Настройка колонок файла при прямом импорте (прямой импорт данных из колонок в базу, без обработки, и переработки данных в ходе импорта)

Импорт условно можно разделить на два вида: прямой импорт данных "как есть" в файле, и функциональный импорт, когда при перемещении данных из ячеек их нужно, дополнительно переработать: математически, логически и т.п.

В данном разделе рассмотрены настройки прямого импорта данных "как есть". В следующем разделе рассмотрены настройки функционального импорта

Пример настройки приведен для файла, который можно посмотреть здесь

ДействиеСкриншет

1. Проделайте действия из Шага 1, установите идентификатор данным, если нужно, как это описано в разделе "Установка идентификатора". В данном примере, идентификатор не устанавливается для простоты понимания смысла прямого импорта. 

После появления представления Шага 2, у каждой колонки файла найдите нужное соответствие и укажите его в настройках колонки

Например, у артикула нужно найти и выбрать "SKU"


2. У цены по акции, нужно найти и выбрать Цену из группы настроек Специальные или Акционные цены
3. У колонки Количество, нужно найти и выбрать Количество

4. Чтобы приступить к импорту, в рубрике "Параметры профиля настроек" выберите нужный режим обмена данными (т.к. идентификации в данном примере не требуется, на примере, выбрано Добавлять все данные, как новые"). А также выберите настройки в шаге 3 и для старта импорта, нажмите "Начать импорт данных". Вы увидите счетчик импорта, значит импорт начался успешно

Подробнее о режимах обмена, и Шаге 3 смотрите в следующих разделах


5. По завершению импорта появится окно об успешном завершении


6. Предварительные действия с товаром(ами) перед импортом (обнуление остатков у определенных товаров, выключение и пр.)

Если перед импортом нужно произвести какое-то действие с какими-то товарами, которых нет в файле, но есть на сайте, используйте эту настройку

Например, можно выключить определенные товары, или обнулить остатки у товаров по условию

ЦельВариант настройкиСкриншет
Обнулить остатки у товаров, у которых в модели (коде товара) слева есть префикс OS-

1. Войдите в область настроек первого шага

2. Найдите настройку "Обработка перед импортом (обнуление остатков, цен, выключение определенных товаров)"

3. В колонке "Найти нужные товары, если поле товара..." укажите "Модель", в колонке "Оператор" - укажите "Содержит слева", в колонке "Значение" укажите: OS- (указывать нужно без пробелов и лишних символов, обратите внимание, что запрос будет регистронезависимый, то есть OS- тоже самое, что os-)

4. В настройку: "Установить все остатки, соответствующих товаров перед импортом" укажите тот остаток, который должен быть установлен всем товаром, с префиксом OS- слева в каждой модели (коде товара), например: 0

5. После данной настройки, в ходе импорта у всех товаров, у которых в модели (коде товара) будет присутствовать слева префикс OS- в поле количество товара будет добавлен нуль. 


Выключить товары, у которых в модели (коде товара) слева есть префикс OS2- и одновременно остаток больше нуля

1. Войдите в область настроек первого шага

2. Найдите настройку "Обработка перед импортом (обнуление остатков, цен, выключение определенных товаров)"

3. В колонке "Найти нужные товары, если поле товара..." укажите "Модель", в колонке "Оператор" - укажите "Содержит слева", в колонке "Значение" укажите: OS2- (указывать нужно без пробелов и лишних символов, обратите внимание, что запрос будет регистронезависимый, то есть OS2- тоже самое, что os2-)

3. В колонке "Найти нужные товары, если поле товара...", ниже укажите "Количество", в колонке "Оператор" - укажите ">", в колонке "Значение" укажите: 0

4. В настройку: "Отключить все соответствующие товары перед импортом" укажите "Включено"

5. После данной настройки, в ходе импорта у всех товаров, у которых в модели (коде товара) будет присутствовать слева префикс OS2-, и одновременно количество больше нуля, статус будет изменен на 0, то есть товар будет выключен и не будет показываться во фронтенде магазина 


7. Сопоставление (маппинг) категорий файла и сайта перед импортом

Если при импорте необходимо не импортировать справочник категорий в файле (если таковой импортируется), а нужно перенести товары в категории сайта, которые должны соответствовать категориям в файле, проделайте следующие действия

Обязательное условие маппинга: в одной из колонок файла должны находиться категории, которые представлены вложенностью через какой-либо разделитель (подробнее о настройке категорий, представленных в виде вложенности (пути) в одной ячейки, можно найти в соответствующем разделе справки

ДействиеСкриншет

1. Откройте файл импорта (или перейдите к Шагу 2 импорта), чтобы найти название колонки, в которой находятся категории, представленные вложенностью

2. Скопируйте это название в точности, и запомните какой разделитель используется: на примере разделить слеш: /, а название: Каталог_чистый


1. Перейдите в область настроек Шага 1, и в области "Сопоставление категорий файла и категорий сайта" в левой колонке "Название колонки в файле с категориями, заданными путем" вставьте, скопированное название колонки. В правой колонке "Разделитель категорий внутри пути" укажите разделитель вложенности.

2. Нажмите на кнопку "Проверить файл и загрузить данные для сопоставления"


1. Если всё сделано, а также в файле есть указанная колонка, разделитель соответствует тому, которым переложены названия категорий, то появится область: Сопоставление категорий файла XML и категорий сайта

2. Сопоставьте категории файла и категории сайта


1. Сохраните настройки, нажав на "Сохранить профиль настроек" внизу. Подробнее о вариантах сохранения профиля, и Шаге 3, смотрите в соответствующих разделах


Важное дополнение:  не сопоставленные категории, будут заведены на сайте при импорте, если не указана настройка, которая позволяет переносить товары таких категорий в какую-нибудь временную, например, "Неразобранные товары"

8. Дополнительные настройки товаров

НастройкаСкриншет с областью дополнительных настроек импорта товаров

Установить количество всем товарам - Настройка позволяет установить то или иное число всем товарам, которые будут импортироваться по файлу. Количество у других товаров в ОпенКарте не изменится

Товар включен, если количество больше или равно (например, если нуль - все будут включены) - Настройка позволяет включить только те товары, у которых количество (после импорта, если передается или вообще) будет больше или равно заданному. Например, если нужны только товары, у которых больше нуля, то установите 1. Изменение статуса будет только у тех товаров, которые обновляются в рамках файла. Прочие товары на сайте трогаться не будут

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

Генерировать seo_url - включает генерацию сео урла по правилам транслитерации поисковиков, если в рамках импорта будут переноситься названия. Генерация делается один раз. Если у товара уже заведен какой-либо сео-урл, то он не будет изменен при следующих обновлениях

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

Загрузка изображений при помощи CURL - если картинки не загружаются или загружаются медленно, попробуйте включить этот способ получения изображений с удаленных серверов

Переименовать названия папок - если импортируются изображения, у которых кириллические или прочие нестандартные названия файлов или папок, Вы можете привести эти данные в соответствие со стандартом URL, но обратите внимание, что длина файла и папок вместе не должна превышать 255 символов, как установлено в базе данных ОпенКарт на колонках image. Если длина будет превышать, то картинки загрузятся, но в базе данных будет сохранен не весь путь и картинки не отобразится


Обрабатывать изображение - используйте любое из данных полей, чтобы обработать изображения при импорте: сделать пропорциональное уменьшение и/или обрезать часть изображения


Сохранение профиля настроек, и режимы обмена данными

После завершения действий на Шаге 1, и Шаге 2, для начала импорта необходимо сохранить профиль настроек

Перед сохранением настроек, придумайте название этому профилю и разместите его в "Название профиля настроек"

Выберите нужный режим сохранения

Режимы сохранения профилей настроекСкриншет

Доступно 3 режима сохранения:

  • Сохранить, как новый - этот режим позволяет сохранить профиль, как новый профиль настроек. При этом тот, который был вызван первоначально не изменится
  • Сохранить изменения - этот режим сохраняет изменения в вызванный профиль настроек
  • Удалить профиль - этот режим удаляет вызванный профиль настроек. Удалить профиль можно также нажав на иконку корзинки рядом с названием профиля настроек, в области настроек Шага 1, в рубрике: Загрузить профиль настроек


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

Режимы обмена даннымиСкриншет

Доступно 4 режима обмена данными:

  • Добавить все данные, как новые - этот режим позволяет добавлять данные, как новые без идентификации. Будьте осторожны, каждый импорт в этом режиме будет заводить данные. Это может привести к их дублированию. Чтобы избежать дублирования, используйте следующие ниже режимы
  • Обновить все данные, и вставить новые если есть - этот режим нужен, если в файле есть товары, часть которых уже заведена, а часть не заведена. При работе с файлом, модуль будет находить имеющиеся товары и если таковые есть, то обновлять в них данные, которые будут требовать обновления по данным настроек профиля. Если модуль не найдет данные по идентификатору сущности данных, то данные по файлу, в соответствии с настройками по колонкам, будут добавляться, как новые. Для этого профиля обязательна настройка идентификатора (смотрите раздел "Установка идентификатора")
  • Обновить только имеющиеся - этот режим отличается от предыдущего тем, что новые данные вставляться не будут, а обновление будет происходить только если будет найден тот или иной товар, категория и т.п. сущность данных. Для этого профиля обязательна настройка идентификатора (смотрите раздел "Установка идентификатора")
  • Добавить только новые - этот режим отличается тем, что позволяет добавлять сущности данных (например, товары), только если таковые отсутствуют на сайте. Для этого профиля обязательна настройка идентификатора (смотрите раздел "Установка идентификатора")


Шаг 3. Импорт данных

Описание возможностейСкриншет

1. Перед началом импорта установите нужные параметры:

  • С какой строки файла начать? - этот параметр позволяет начать (продолжить) импорт с любой строки файла, без учета первой строки, в котором находятся колонки файла
  • Делать строк за один проход (рекомендуется 50-100) - установите оптимальный режим обработки - размер порции, которая будет обрабатываться за один круг. Чем больше данных в строке, тем затратней для памяти и времени импорт одной строки. Чем меньше данных в строке, тем менее затратней по времени и памяти операция импорта. Для обычных хостингов, и длине колонок 10-20, установите 50-200. Для хостингов с большим объемом ОЗУ, нелимитируемым временем работы скрипта - этот параметр может быть равен тысячам и десяткам тысяч


Логирование результатов работы

фывфыв

Связаться с нами