Import von Produkten aus Textdateien
Добавление продуктов вручную приемлемо, если в вашем магазине только несколько товаров. Но что произойдет, если у вас есть сотни или даже тысячи продуктов? Этот метод требует много времени и не очень продуктивный для крупных ма
Produkte manuell hinzuzufügen ist akzeptabel, wenn Ihr Shop nur wenige Artikel enthält. Aber was passiert, wenn Sie hunderte oder sogar tausende Produkte haben? Diese Methode ist zeitaufwändig und wenig produktiv für große Shops. Wenn Sie zum Beispiel 10.000 Produkte haben und für das Hinzufügen eines Produkts etwa fünf Minuten benötigen, dauert es rund fünf Arbeitsmonate, um den Vorgang abzuschließen. Zudem könnten Probleme wie langsame Internetverbindung oder Fehler bei der Eingabe auftreten. Deshalb ist die beste Lösung, Produkte aus einer Textdatei zu importieren. Sie können Produkte aus drei Dateitypen importieren: durch Kommas getrennte Werte (CSV), durch Semikolons getrennte Werte (SSV) oder durch Tabulatoren getrennte Werte (TSV). Eine CSV-Datei speichert den Inhalt einer Tabelle oder Liste, wobei die Felder durch Kommas getrennt sind. Zum Beispiel, wenn Sie folgende Tabelle haben:
Hier ist die CSV-Darstellung dieser Tabelle:
"Name","Category","SKU","Price"
"iPod Nano","iPods",100001,"199.99"
"iPod Classic","iPods",100002,"249.99"
"iPod Shuffle","iPods",100003,"79.99"
SSV-Dateien verwenden statt Kommas Semikolons, und TSV-Dateien trennen Felder mit Tabs. In unserem Beispiel verwenden wir CSV-Dateien, aber das Verfahren ist für alle Dateitypen gleich.
Bevor Sie CSV-Dateien in Ubercart importieren können, müssen Sie das Modul Node import installieren. Gehen Sie dazu wie folgt vor:
1. Besuchen Sie http://drupal.org/project/node_import und laden Sie das Modul Node import herunter. Wählen Sie die neueste Version für Drupal 6.x. Sie müssen auch die Abhängigkeiten Date und Advanced help herunterladen. Diese finden Sie unter http://drupal.org/project/date bzw. http://drupal.org/project/advanced_help.
2. Entpacken Sie die Dateien und kopieren Sie sie in den Ordner sites/all/modules.
3. Aktivieren Sie die Module Date, Advanced help und Node import auf der Modulseite.
4. Die Importseite finden Sie unter Verwaltung | Inhaltsverwaltung | Inhalt importieren (Administer | Content management | Import content).
Die Seite hat drei Tabs:
- Liste (List): Zeigt alle erstellten Importe und alle hochgeladenen Dateien an. Da Sie noch nichts erstellt haben, ist die Liste leer.
- Neuer Import (New import): Öffnet den Import-Assistenten. Dazu später mehr.
- Einstellungen (Settings): Öffnet die Konfigurationsseite.
Klicken Sie vor dem Start auf Einstellungen, um die Konfiguration anzusehen.
- Import-Verzeichnis (Import directory): Hier können Sie CSV-Dateien per FTP oder Import-Assistent hochladen.
- Wenn Sie FTP-Uploads erlauben möchten, aktivieren Sie Allow FTP uploads.
- Aus Sicherheitsgründen müssen Sie bei erlaubtem FTP-Upload auch den Dateibesitzer setzen, sonst sind die hochgeladenen Dateien für jeden, auch anonyme Benutzer, zugänglich.
- Bei Allowed extensions geben Sie die erlaubten Dateiendungen an. Alle anderen Dateien werden ignoriert.
Für Ihren Shop müssen Sie hier nichts ändern, klicken Sie auf Konfiguration speichern, um zurück zur vorherigen Seite zu gelangen. Bevor wir den Import-Assistenten nutzen, betrachten wir genauer die Struktur von CSV-Dateien und wie man sie erstellt.
Der einfachste Weg, eine CSV-Datei zu erstellen, ist die Nutzung eines Tabellenkalkulationsprogramms wie Microsoft Excel oder OpenOffice. Diese speichern standardmäßig in ihrem eigenen Format, können aber leicht als CSV exportieren. Das Einfügen von Daten in eine Tabelle geht viel schneller als die direkte Eingabe in Ubercart. Der größte Vorteil ist, dass Sie vorhandene Datenbanken in andere Anwendungen konvertieren und als CSV importieren können.
In der Tabelle stellt jede Zeile ein Produkt dar, jede Spalte eine Produkteigenschaft. Wie bei der Produktanlage müssen Sie für jedes Feld der Produktform ein Spalte erstellen. Nicht alle Felder sind für Ihren Shop nötig, daher nutzen Sie nur die wichtigsten. Zum Beispiel habe ich folgende Tabelle erstellt:
Speichern Sie die Tabelle im CSV-Format.
Die Tabelle enthält sechs Spalten: SKU, Name, Beschreibung, Kategorie, Preis und Bilder. Sie können eine ähnliche Struktur in Ihrem Programm erstellen und als CSV speichern. Als letzten Schritt laden Sie die Produktbilder auf den Server. Mit einem FTP-Programm laden Sie alle Dateien in den Ordner sites/default/files hoch. In der Tabelle verwenden wir einen eigenen Unterordner "imports", um diese Bilder von anderen auf der Seite zu trennen. Standardmäßig liegen Bilder im Verzeichnis sites/default/files. Wenn Sie Ihre Bilder z.B. im Unterordner products speichern, müssen Sie im Spaltenpfad den entsprechenden Präfix setzen, in unserem Fall z.B. /products/036.jpg.
Nachdem Sie die CSV-Datei gespeichert und die Bilder hochgeladen haben, kehren Sie zu Ubercart zurück und klicken auf Neuer Import. Der Import startet.
Die Einführungsseite zeigt Informationen zum Vorgang und die wichtigsten Buttons. Lesen Sie diese und klicken Sie auf Weiter.
1. Auf der ersten Seite des Assistenten wählen Sie den Inhaltstyp, den Sie importieren möchten. Wählen Sie Product und klicken auf Weiter.
2. Auf der zweiten Seite wählen und laden Sie die CSV-Datei hoch. Falls Sie bereits Dateien hochgeladen haben, sehen Sie diese in einer Liste und können eine auswählen. Um neue Dateien hochzuladen, klicken Sie auf Durchsuchen, wählen die Datei und laden diese hoch. Nachdem Sie die CSV ausgewählt haben, klicken Sie auf Weiter.
3. Auf der dritten Seite können Sie grundlegende Einstellungen zur Datei vornehmen. Wählen Sie, ob die erste Zeile Spaltenüberschriften enthält (ja, bei uns der Fall). Wählen Sie das Dateiformat (CSV). Unten sehen Sie eine Vorschau der ersten vier Datenzeilen.
Microsoft Excel speichert CSV meist mit Semikolon als Trennzeichen, OpenOffice mit Komma.
Klicken Sie auf Weiter.
Es kann zu einem Fehler kommen wie:
Fatal error: Call to undefined function uc_product_node_is_product() in Z:\home\ubercart\www\sites\all\modules\node_import-6.x-1.0-rc4\node_import\supported\ubercart\uc_product.inc on line 15
In diesem Fall suchen Sie im Ubercart-Forum nach einer Lösung:
http://www.ubercart.org/forum/bug_reports/12843/csv_import_step_3
In Zeile 15 der Datei node_import\supported\ubercart\uc_product.inc:
uc_product_node_is_product($node_type)
ändern Sie in
uc_product_is_product($node_type)
4. Auf der vierten Seite ordnen Sie die Spalten der CSV den Produktfeldern zu. Wenn Sie die von mir gezeigten Überschriften verwendet haben, ordnet das Importmodul die Spalten automatisch zu. Überprüfen Sie dennoch alle Felder, um sicherzugehen, dass alles korrekt ist. Falls nötig, wählen Sie andere Spalten aus den Dropdowns. Ist alles korrekt, klicken Sie unten auf Weiter.
5. Auf der fünften Seite können Sie einige weitere Einstellungen vornehmen, die Sie aber unverändert lassen können. Klicken Sie auf Weiter.
6. Auf der sechsten Seite finden Sie viele Standardwerte, die verwendet werden, wenn ein Feld im CSV fehlt. Sie können Standardwerte festlegen. Klicken Sie auf Weiter.
7. Auf der siebten Seite sehen Sie eine Übersicht des Imports. Überprüfen Sie diese sorgfältig auf Fehler. Wenn alles stimmt, klicken Sie auf Weiter.
Oft gibt es Probleme mit der Kodierung. Für den CSV-Import ist UTF-8 notwendig. MS Excel speichert standardmäßig in ANSI, was zu fehlerhaften Zeichen führt:
Wenn alles in Ordnung ist, können Sie den Import starten.
8. Auf der achten Seite, der letzten vor dem Import, sehen Sie eine Zusammenfassung und eine Vorschau. Klicken Sie auf Import starten, um fortzufahren. Nach Abschluss sehen Sie einen Bericht über importierte und fehlerhafte Zeilen. Wenn Sie die CSV nicht mehr benötigen, löschen Sie sie besser vom Server.
Nach dem Import können Sie den Fehlerbericht ansehen:
Hurra! Beim Import treten häufig Fehler auf, aber keine Sorge, viele haben dieselben Probleme und Lösungen sind oft über Foren und Google zu finden.
Und jetzt direkt zum Katalog, voilà:
газинов. Учтите, что, если у вас есть 10000 продуктов и чтобы вставить один продукт нужно около пяти минут, необходимо около пяти рабочих месяцев, чтобы завершить процедуру. И вам также прийдется сталкиваться с такими проблемами, как медленное подключение к Интернету или командыми ошибками. Именно поэтому лучшим решением является импорт изделий из текстового файла. Вы можете импортировать продукцию из трех типов файлов: значения разделенные запятыми файлы, точка с запятой или Tab значения. Файл со значениями разделенными запятыми (CSV) хранит содержимое таблицы или списка. Формат файла CSV представляет собой строку из полей таблицы разделенную запятыми. Например, если у вас есть следующая таблица:
Ниже представление CSV этой таблицы:
"Name","Category","SKU","Price"
"iPod Nano","iPods",100001,"199.99"
"iPod Classic","iPods",100002,"249.99"
"iPod Shuffle","iPods",100003,"79.99"
Файлы с разделением точкой с запятой (SSV) , заменяют запятую точкой с запятой, а в Tab файлах (TSV) поля разделяются знаками табуляции. Мы будем использовать CSV файлы в нашем примере, но процедура одинакова для других типов файлов.
Прежде чем вы можете импортировать CSV-файлы в Ubercart, вы должны сначала установить модуль Node import. Для этого выполните следующие действия:
1. Зайдите на http://drupal.org/project/node_import и скачайте модуль Node import. Выберите последнюю версию для Drupal 6.x. Вам также нужно будет скачать модули от которых зависит Node import - Date и Advanced help. Со страницы http://drupal.org/project/date загрузите модуль Date API, а затем со странице http://drupal.org/project/advanced_help скачайте модуль Advanced help.
2. Распакуйте эти файлы и скопировать их в папку sites/all/modules.
3. Зайдите на страницу модулей и активируйте Date, Advanced help, Node import.
4. Страница импорта контента доступна по адресу Administer | Content management | Import content.
Есть три вкладки на этой странице:
- Список (list) показывает все созданные импорта и отображает все загружаемые файлы. Вы ничего не создали еще, так что все списки пусты.
- Новый импорт (New import) открывает новый мастер импорта. Мы вернемся к нему позже.
- Настройки (Settings) открывают страницу конфигурации
Прежде чем начать сначала импортировать, нажмите на Настройки, чтобы посмотреть на страницу конфигурации.
- Каталог загрузки (Import directory), здесь вы можете загружать свои файлы CSV, используя FTP или мастер импорта.
- Если вы хотите, чтобы загрузить файлы с помощью FTP, вы должны отметить Allow FTP uploads.
- По соображениям безопасности, если вы позволите FTP загрузку, вы также должны включить файл владельца в следующем поле. Если нет, загруженные файлы будут доступны для любого человека, даже для анонимных пользователей.
- В Allowed extensions(допустимые расширения), объявляются, файлы какого расширения разрешены. Все остальные просто игнорируются.
Для вашего магазина, вам не надо ничего менять, так что просто нажмите кнопку Сохранить конфигурации, чтобы вернуться к предыдущей странице. Прежде чем мы начнем изучение мастера импорта, давайте ближе познакомимся с файлами CSV, и посмотрим какая структура правильная для CSV и как можно создать такие файлы.
Самый простой путь создания файла CSV это использовать редактор электронных таблиц, такой как Microsoft Excel или OpenOffice. Все эти приложения хранят файлы в своем формате по умолчанию, но их можно легко экспортировать их в виде файлов CSV. Вставка файлов в таблица гораздо быстрее, чем процесс работы непосредственно в Ubercart. Конечно, Самым большим преимуществом является то, что если у вас есть готовая база данных в другом приложение, вы можете преобразовать ее в файл CSV и импортировать его в Ubercart.
В нужный файл электронной таблицы, каждая строка представляет собой продукт, и каждый столбец представляет свойства продуктов. Помните как мы создавали новый продукт? На самом деле, для каждого поля этой формы, вы должны создать отдельный столбец. Для Вашего магазина не нужны все поля, так что вы собираетесь использовать только самые важные из них. В качестве примера, я создал следующую таблицу:
Сохраняем таблицу в формате CSV.
Таблица имеет шесть столбцов: SKU, название, описание, категория, цена, изображения. Вы можете создать такую же структуру в вашем приложение и сохранить файл CSV. Последним шагом является загрузка изображений из ваших продуктов на сервер. Использование FTP приложение, загрузить все файлы в папку sites/default/files. Как вы можете см. в таблице, мы используем новую папку с именем импорта, чтобы отделить эти изображения от всех других изображений на сайте. По умолчанию изображения находятся корневой папке sites/default/files. Например, если добавить свои изображения в папку products в папке files, то вам необходимо изменить столбец пути, добавив соответствующий префикс пути, в нашем случае значение будет /products/036.jpg.
После сохранения файла CSV и загрузки изображений, вернемся к Ubercart и нажмем на кнопку новый импорт. Импорт начинается.
Вводная страница показывает информацию об этой процедуре и показывает основные кнопки.Ознакомтесь и нажимайте Далее.
1. На первой странице мастера, Вы должны выбрать какой тип содержимого вы хотите импортировать в Ваш сайт. Выбирайте Product и нажимайте кнопку Далее.
2. На второй странице, вы должны выбрать и загрузить файл CSV. Если у вас уже есть загруженные файлы, вы увидите их в виде списка и выберать файл, который Вы хотите использовать. Если вы хотите загрузить новые файлы, то нажмите на кнопку Обзор, выберите файл, и нажмите на загрузку файла. После того как вы загрузили и выбрали CSV файл, нажмите кнопку "Далее"
3. На третьей странице вы можете сделать некоторые основные настройки, связанные с вашим файл. Сначала вы должны выбрать, будет ли первая строка содержит имена столбцов. В данном случае это так, так что оставьте это поле отмеченным. Затем вы должны выбрать формат файла. Вы создали файл CSV, так что вам не нужно что-нибудь менять. В нижней части страницы, вы можете увидеть некоторые образцы данных, созданных из четырех верхних строк файла.
Обычно Microsoft excel сохраняет CSV с точкой с запятой, а OpenOffice - с запятой.
Нажимайте кнопку Далее.
Возможно возникнет ошибка, вида
Fatal error: Call to undefined function uc_product_node_is_product() in Z:\home\ubercart\www\sites\all\modules\node_import-6.x-1.0-rc4\node_import\supported\ubercart\uc_product.inc on line 15
В этом случае идем на форум Ubercart и находим решение:
http://www.ubercart.org/forum/bug_reports/12843/csv_import_step_3
В строке номер 15 файла node_import\supported\ubercart\uc_product.inc:
uc_product_node_is_product($node_type)
меняем на
uc_product_is_product($node_type)
4. На четвертой странице вы должны соотнести столбцы файла с полями продукции. Если вы использовали заголовки, которые я показал вам в образце файла SCV, то модуль импорта автоматечски соотнесет столбцы. Конечно, вы должны проверить каждое поле чтобы быть увереным, что отображение окажется на 100% точным. Если что-то неправильно, вы можете выбрать другой столбец из выпадающего меню. Если все верно, перейдите к нижней части страницы и нажмите кнопку Далее.
5. На пятой странице вы можете задать некоторые дополнительные параметры. Но можно оставить все без изменений.Так что нажмите Далее.
6, На шестой странице множество значений по умолчанию. Они используются, когда поле не определенно в файле CSV. Если характеристика товара отсутствует, то можно выбрать значение по умолчанию. Нажимайте кнопку Далее.
7. На седьмой странице вы можете просмотреть массив импорта. Внимательно посмотрите на эти запросы, чтобы увидеть, если Есть ошибки. Если все правильно, нажмите кнопку Далее.
Однако зачастую могут возникнуть проблемы с кодировкой. Для импорта файла CSV необходима кодировка UTF-8. MS Excel сохраняет по умолчанию CSV в когдировке ANSI. Поэтому могут появится такие вот кракозяблы:
Если все хорошо и никаких проблем нет, можете загружать прайс.
8. Теперь мы переходим к восьмой странице, которая является последней страницы до конечного импорта. Вы можете взглянуть на основные параметры и увидеть некоторые образцы данных. Нажмите на Начать импорт, чтобы продолжить. Когда процедура будет завершена, вы можете увидеть отчет об импортированных строках и строках с ошибками. Если вам больше не нужен CSV файл, лучше нажать на Удалить и удалить его с сервера.
Теперь после того как прошел Импорт товаров, можно посмотреть отчет об ошибках импорта:
Ура! По ходу импорта часто возникают ошибки, но не волнуйтесь, они возникают у многих и кое-кто спрашивает на форумах. Поэтом с помощью Google можно найти многие решения Ваших проблем.
А теперь непосредственно к каталогу, вуаля: