Главная->Кабинет->описание




Как импортировать товары в PrestaShop из файла CSV



Попробуем сделать на практике импорт товаров в интернет-магазин на базе PrestaShop (версия 1.5.6.1), в данном случае верна поговорка «гладко на бумаге, да забыли про овраги». Не так все просто с загрузкой данных в Престу, как может показаться в начале, но в принципе сделать это можно.

Сам импорт товаров доступен из меню Конфигурация->Импорт CSV, либо в разделе «Категории» и «Товары» есть кнопка «Импорт» вверху справа. В первом случае нужно будет дополнительно указать какой тип вы импортируете: категории или товары. На самом деле есть еще и другие типы для загрузки: комбинации, поставщики, покупатели, адреса и другое, но мы пока остановимся на самом главном — на импорте товаров и категорий.




Итак, для загрузки товаров в Престашоп нужны два файла: со списком категорий и списком товаров. Конечно, если категорий немного, то их можно создать вручную, используя стандартные средства CMS PrestaShop. Однако, если их список переваливает за несколько десятков, гораздо проще их импортировать тем более что в новой версии появилась возможность загружать категории по их именам.

Дело в том, что в старых версиях, для загрузки разделов нужно было обязательно указать их уникальный идентификатор. Допустим, мы хотим загрузить прайс от поставщика (таблица формата CSV), но мы не знаем точно, какие из загружаемых категорий уже есть в нашем магазине, а каких нет. Понятно, что если всех нет, то достаточно просто придумать им новые идентификаторы. А если все вперемешку — то раньше приходилось вручную находить коды для существующих категорий и вбивать их в таблице CSV. Теперь же идентификация категорий возможна не только по коду, но и по названию, а значит категории с совпадающими названиями, автоматически загрузятся и не задвоятся даже без указания идентификационного кода. Для того, чтобы загрузить категории по названию, нужно просто в столбце с названием «ID» указать пустые значения (или не указывать его вообще).



Загрузка категорий



Итак, открываем вкладку «Импорт» и выбираем тип импорта «Категории», остальные настройки по умолчанию: язык файла - «Русский», разделитель полей - «;», разделитель значений - «,».




Кстати, при изменении типа импортируемого файла справа меняется список доступных полей, например для типа «Категории» возможны следующие столбцы в таблице CSV:

Поле

Описание

ID

Активен (0/1)

Название*

Родительская категория

Корневая категория (0/1)

Описание

Мета-заголовок

Мета-ключевые слова

Мета-описание

ЧПУ

URL изображения

ID / Название магазина


Уникальный идентификатор

Показывать категорию или нет

Название категории

Кто родитель

Корневая эта категория или нет

Описание

Заголовок страницы категории

Ключевые слова

Описание страницы

Человеко-понятная URL (ссылка)

Ссылка на картинку категории

Используется для мульти-магазинов



Допустим, нам нужно загрузить новую корневую категорию «Смартфоны» и ее подразделы «Apple» и «Другие». Создаем для этого таблицу CSV (например в OpenOffice) «category_new.csv» вида:

Название

Родительская категория

Описание

Apple

Смартфоны

Смартфоны Apple

Другие

Смартфоны

Другие



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

ID; Активен; Название; Родительская категория; Корневая категория; Описание



Внимание! PrestaShop поддерживает загрузку файлов только в кодировке Unicode Utf-8 (и iso-8859-1). Для изменения типа кодировки файла проще всего воспользоваться программой Notepad2, открыть ей готовый файл и в меню «Файл» -> «Кодировка» выбрать «UTF-8».



Теперь можно наконец загрузить наш файл «category_new.csv», для это нажимаем кнопку «+Загрузка». В открывшемся окне с помощью кнопки «Обзор» выбираем нужный файл, а потом обязательно нажимаем кнопку «Загрузка» ниже:




Слева от кнопки «+Загрузка» появляется название текущего выбранного файла для импорта с числовым префиксом, в котором указана дата и время загрузки.

Внимание! После загрузки нового файла, текущий выбранный файл остается прежним (!), т.е. каждый раз после загрузки нужно выбрать нужный файл из списка. Для того, чтобы не путаться в этом лучше каждый новый файл называть по другому, например добавлять число в конце.

Итак, выбираем нужный загруженный файл и переходим на следующий шаг — нажимаем кнопку «Следующий шаг». Если мы в файле указали только нужные нам колонки, то им необходимо вручную поставить в соответствие имеющиеся поля PrestaShop.




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




Если все в порядке просто нажимаем кнопку "Импорт данных в формате CSV"(вверху справа), если что-то не так — не тот файл или неправильный значения — нажимаем «Отмена»:




После этого начнется импорт. К сожалению он малоинформативен — просто видно что страница загружается. Если появятся ошибки — значит нужно исправить файл и попробовать загрузить категории снова. Если выданы только предупреждения — значит все загрузилось нормально.





Загрузка номенклатуры



Загрузка товаров чуть сложнее. Выбираем на вкладке «Импорт» тип «Товары», при этом справа откроется достаточно обширный список возможных колонок. Мы рассмотрим сейчас только наиболее важные для импорта:

Название

Описание

ID

Активен (0/1)

Название*

Категории (x,y,z...)



Цена с налогом (без)



ID налога

Артикул №



Артикул поставщика №





Поставщик

Описание

ЧПУ

URL изображений (x,y,z...)

Уникальный идентификатор товара

Показывать/скрывать

Название товара

Путь к товару, через запятую можно указать все категории

Цена товара, если ID налога не указан — значит без налога

Внутренний идентификатор налога

Артикул, может использоваться в качестве идентификатора

Артикул поставщика — привязан к поставщику, может совпадать с артикулом другого поставщика

Название поставщика

Описание

Человеко-понятная ссылка

Картинки, путь к ним, через запятую



Допустим нам нужно загрузить три смартфона: Samsung, HTC и Apple. Создадим таблицу CSV «product_new.csv» вида:

ID

Активен

Название

Категории

Цена

Артикул

Картинки


1

Samsung S5570

Смартфоны, Другие

7300

a-1

URL1, URL2,...


1

HTC Sensation

Смартфоны, Другие

20300

a-2

URL1, URL2,...


1

iPhone 4s

Смартфоны, Apple

44000

a-3

URL1, URL2,...



Внимание! Если вы не хотите, чтобы к вашей цене прибавлялся стандартный налог НДС (18%), то добавьте столбец «ID налога» и укажите в нем 0.

Для того, чтобы сразу немного упростить себе жизнь задаем столбцы «ID» и «Активен», чтобы меньше выбирать соответствий вручную позже при импорте.



Для того, чтобы различать товары в PrestaShop используется уникальный идентификатор ID, который автоматически присваивается каждой новой позиции магазина, добавленной вручную. Если же нам нужно импортировать множество товаров, то есть два варианта. Можно указать в качестве первого идентификатора наибольший номер, из тех что были присвоены ранее в магазине автоматически, увеличенный на единицу. И далее всем последующим товарам указывать возрастающие на единицу значения. Например, у нас было 3 позиции в Магазине, но с учетом удалений/вставок максимальный номер у нас оказался 17. Значит, первый ID в нашей таблице будет 18, потом 19 и наконец 20 для айфона. Однако, у этого метода есть ряд проблем. Во-первых, нужно найти это максимальное значение, когда позиций много это не так просто. Во-вторых, каждый раз при загрузке прайса от одного и того же поставщика, придется запоминать какие коды мы использовали. При этом, если количество позиций в прайсе не совпадает — у нас возникнут проблемы: некоторые товары будут затерты, а другие задвоятся.



Поэтому, наиболее удобным является идентификация по артикулу. При этом, если артикулы каждого поставщика уникальны — то загрузка и обновление прайсов всегда будет проходить правильно, т.к. у каждой позиции свой артикул. Если же возможны пересечения, например, когда в качестве артикула используются только цифры, то лучше использовать поле «Артикул поставщика №» и обязательно указать название поставщика в таблице (правда, перед этим вам нужно добавить его в Магазин). Если же артикула нет в прайсе или в таблице CSV, то его не сложно создать. Так как в нем можно указывать не только цифры (как в ID) но и символы, то он может хранить уникальный идентификатор поставщика в себе. Например, у нас есть поставщик «Сидоров и Ко», мы можем задать его товарам артикул вида «Сидоров-1001», «Сидоров-1002», «Сидоров-1003» и т.д.



Итак, в качестве идентификатора в нашей таблице «product_new.csv» мы выбрали поле «Артикул» и задали его значения. Теперь загружаем этот файл в Магазин, используя кнопку «Загрузить» на вкладке «Импорт». Внимание, не забываем после загрузки выбрать из списка слева от кнопки «Загрузить» наш новый файл (иначе опять загрузится прошлый):




И еще один важный момент, если в качестве идентификатора мы хотим использовать Артикул — нужно поставить галочку напротив «Использовать ссылку товара в качестве ключа». Почему-то артикул переведен как «ссылка товара»,хотя никакого отношения эта галочка к ЧПУ товара не имеет.




Теперь переходим на следующий шаг, нажав соответствующую кнопку. Так как мы все-таки оставили в таблице поля ID и Активен, то первые колонки у нас совпали:




Однако, начиная с колонки «ID налога» начинаются разночтения: нужно вручную выбрать из списка поле «Артикул №» и обязательно нажать после этого на кнопку «>>», так как нам показали только первые 6 колонок, а 7-ую — с картинками нет. Нажав на кнопку мы увидим, что столбец «Картинки» также не совпал:




Исправляем это, выбрав «URL изображений (x,y,z...)» и нажимаем кнопку «Импорт данных в формате CSV».



Как уже было сказано выше, сам импорт не информативный — просто идет загрузка страницы в браузере. Если же в таблице много товаров, особенно если они с картинками, то бывает так, что после определенного времени выдается ошибка "504 Gateway Time-out". Однако, несмотря на это — загрузка обычно продолжается, это можно видеть зайдя на сайт своего магазина и периодически его обновляя — в нем будут появляться новые категории или товары. Однако, в любом случае рекомендуются слишком большие файлы разбивать на части, не более 1000 позиций в одном.



Если вы все сделали правильно, то должны получить что-то вроде этого в своем магазине:






Другие статьи по теме:

Как быстро и недорого заполнить интернет магазин товарами?

Что такое парсинг и зачем вам это нужно?

Парсинг сайтов (копирование информации), цены

Как загрузить товары в магазин после парсинга





Войти в кабинет

связь: admin[а)mypars.ru





назад