Magento: импорт категорий из файла CSV

Готовый модуль полностью по стандартам Magento Dataflow

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

16.05.2010 07:48

Данный модуль устарел.
Используйте вместо него Российскую сборку Magento.
Вы можете импортировать товарные разделы посредством модуля «Импорт и экспорт» Российской сборки Magento.


Данный модуль позволяет автоматически создать структуру товарного каталога Magento в соответствии с файлом в формате CSV.
Внимание: для Magento 1.4.2 используйте новую версию модуля.

Руководство по установке:

1)
Распакуйте архив с модулем в корень сайта.
Модуль написан полностью по стандартам Magento.
Файлы стандартной сборки Magento он не затрагивает.

2)
Создайте файл Categories.csv (именно с этим именем) и положите его в папку var/import
Содержимое данного файла должно иметь следующую структуру:

"store","categories"
"default","Офисная мебель/Столы"
"default","Офисная мебель/Кресла"
"default","Домашняя мебель"


  • Первая строка должна оставаться неизменной: "store","categories"
  • Первая колонка остальных строк - это название вашей витрины. Если вы не создавали несколько витрин и не переименовывали стандартную витрину, то у вас в данной колонке должно стоять "default"
  • Вторая колонка остальных строк - это товарные категории. Обратите внимание на метод указания иерархии категорий - через косую черту.


Импортируемый файл должен быть в кодировке UTF-8 (без BOM).

3)
В административной части создайте новый профиль для импорта:
System -> Import/Export -> Advanced Profiles -> Add New Profile
Назовите профиль как-нибудь, например, "Импорт товарных категорий"
В поле Actions XML напишите:

<action type="dataflow/convert_adapter_io" method="load">
    <var name="type">file</var>
    <var name="path">var/import</var>
    <var name="filename"><![CDATA[Categories.csv]]></var>
    <var name="format"><![CDATA[csv]]></var>
</action>
<action type="dataflow/convert_parser_csv" method="parse">
    <var name="delimiter"><![CDATA[,]]></var>
    <var name="enclose"><![CDATA["]]></var>
    <var name="fieldnames">true</var>
    <var name="store"><![CDATA[0]]></var>
    <var name="number_of_records">1</var>
    <var name="decimal_separator"><![CDATA[.]]></var>
    <var name="adapter">catalog/convert_adapter_category</var>
    <var name="method">parse</var>
</action> 


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

4)
Сохраните профиль.

5)
Всё, теперь данный профиль можно запускать: Run Profile -> Run Profile in Popup

Если вам нужна индивидуальная процедура импорта данных в Magento, обращайтесь.

#2 dimekh
  • Группа: Пользователь
  • Сообщений: 107
  • Регистрация: 14.04.2010

16.05.2010 20:40

вопрос про иерархию категорий: достаточно указать категория_уровень1/подкатегория_уровень2/подкатегория_уровень3 и они появятся в такой же структуре?
или надо заводить в виде:
"default","категория_уровень1"
"default","категория_уровень1/подкатегория_уровень2"
"default","категория_уровень1/подкатегория_уровень2/подкатегория_уровень3" 

?

#3 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

16.05.2010 21:04

Достаточно.

#4 Петр
  • Группа: Гости

21.05.2010 12:49

Добрый день, Дмитрий!
А есть подобное решение для импорта атрибутов/наборов атрибутов с возможностью настроек (что бы не открывать каждую и не редактировать вручную)?
И вопрос по сабжу: возможность внесения настроек (описание например, или ключевые слова, путь, лайот и тд)?
Спасибо

#5 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

22.05.2010 13:52

Просмотр сообщенияПетр (21.05.2010 12:49) писал:

есть подобное решение для импорта атрибутов/наборов атрибутов


Magento: импорт / экспорт атрибутов и наборов атрибутов (перенос нестандартных атрибутов на новый сайт)

#6 stranger
  • Группа: Пользователь
  • Сообщений: 9
  • Регистрация: 27.05.2010

27.05.2010 16:37

Сделал все по инструкции, такая ошибка :
<br /> <b>Fatal error</b>: Call to undefined method Df_Dataflow_Model_Catalog_Convert_Adapter_Category::getStoreById() in <b>C:\webserver\xampp\htdocs\togas2\app\code\local\Df\Dataflow\Model\Catalog\Convert\Adapter\Category.php</b> on line <b>41</b><br />

#7 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

27.05.2010 16:45

Причина ошибки в том, что вы не установили модуль Df_Dataflow, который присутствует в моем дистрибутиве.

#8 stranger
  • Группа: Пользователь
  • Сообщений: 9
  • Регистрация: 27.05.2010

27.05.2010 17:00

теперь такую ошибку выдает:

Notice: unserialize() [function.unserialize]: Error at offset 7 of 11 bytes in C:\webserver\xampp\htdocs\togas2\app\code\core\Mage\Dataflow\Model\Batch\Abstract.php on line 66

#9 stranger
  • Группа: Пользователь
  • Сообщений: 9
  • Регистрация: 27.05.2010

27.05.2010 17:05

Просмотр сообщенияДмитрий Федюк (27.05.2010 16:45) писал:

Причина ошибки в том, что вы не установили модуль Df_Dataflow, который присутствует в моем дистрибутиве.

в папке C:\webserver\xampp\htdocs\togas2\app\etc\modules
файл Df_Dataflow.xml присутствует
или нужно еще какие-то настройки менять в админской панели ?

#10 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

27.05.2010 17:30

1) Проверьте в админпанели, что модуль Df_Dataflow включен.
2) Метод getStoreById, который не может найти ваш интерпетатор PHP, является стандартным в Magento 1.4.0.1. В более ранних версиях модуль не тестировал.
3) Сообщения уровня Notice можно отключить в корневом файле index.php Magento, хотя, конечно, лучше бы, чтобы из не было (их причиной могут быть какие-либо ошибки в импортируемом файле)

#11 stranger
  • Группа: Пользователь
  • Сообщений: 9
  • Регистрация: 27.05.2010

27.05.2010 17:53

Просмотр сообщенияДмитрий Федюк (27.05.2010 17:30) писал:

1) Проверьте в админпанели, что модуль Df_Dataflow включен.
2) Метод getStoreById, который не может найти ваш интерпетатор PHP, является стандартным в Magento 1.4.0.1. В более ранних версиях модуль не тестировал.
3) Сообщения уровня Notice можно отключить в корневом файле index.php Magento, хотя, конечно, лучше бы, чтобы из не было (их причиной могут быть какие-либо ошибки в импортируемом файле)

1)Df_Dataflow включен.
2) у меня Magento вер. 1.4.0.1
3) дело даже не в notice, просто импорта не происходит :


# Starting Mage_Dataflow_Model_Convert_Adapter_Io :: load
# Loaded successfully: "C:\webserver\xampp\htdocs\togas2\var\import/Categories.csv"
# Starting Mage_Dataflow_Model_Convert_Parser_Csv :: parse
# Found 69 rows
# Starting catalog/convert_adapter_category :: parse
# Notice: unserialize() [function.unserialize]: Error at offset 7 of 11 bytes in C:\webserver\xampp\htdocs\togas2\app\code\core\Mage\Dataflow\Model\Batch\Abstract.php on line 66
......
......
# Notice: unserialize() [function.unserialize]: Error at offset 7 of 11 bytes in C:\webserver\xampp\htdocs\togas2\app\code\core\Mage\Dataflow\Model\Batch\Abstract.php on line 66
# Обработано 100% 69/69 записей
# Импортировано записей: 0
# Выполнение профиля завершено.

#12 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

27.05.2010 17:56

Magento Dataflow работает только с файлами в кодировке UTF-8.
У вас другая кодировка.
Обратите внимание еще, чтобы перенос строк был по стандарту UNIX, у вас с этим тоже проблемы.

#13 Mr.Devil
  • Группа: Пользователь
  • Сообщений: 28
  • Регистрация: 23.10.2010

23.10.2010 22:28

Цитата

[#10173] Запрашиваемый вами прикрепленный файл не найден.

Можно еще раз перезалить magento-import-categories-2.zip?

#14 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

10.11.2010 09:07

Прикреплённые файлы не скачивались в связи с программным дефектом форума.
Надо было написать об этом в разделе Дефекты данного форума
Теперь дефект исправлен.

#15 welcash
  • Группа: Пользователь
  • Сообщений: 24
  • Регистрация: 13.12.2010

14.12.2010 14:49

Начато выполнение профиля. Пожалуйста, подождите...
Warning: Please do not close the window during importing/exporting data
Starting Mage_Dataflow_Model_Convert_Adapter_Io :: load
Loaded successfully: "E:\xampplite\htdocs\magento\var\import/Categories.csv".
Starting Mage_Dataflow_Model_Convert_Parser_Csv :: parse
Method "parse" not defined in adapter catalog/convert_adapter_category.
Выполнение профиля завершено.

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

#16 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

14.12.2010 21:26

Верно, модуль был написан давно, и уже не совместим с последней версией Magento.
Для Magento 1.4.2 используйте новую версию модуля.

#17 Сергей Сукманюк
  • Группа: Пользователь
  • Сообщений: 62
  • Регистрация: 20.01.2011

15.03.2011 13:31

А для Magento 1.5 такой модуль актуален? Или теперь он есть только в Русской сборке?

#18 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

15.03.2011 13:34

Все мои модули теперь — в составе Российской сборки.

Поделиться темой: