Import von Herstellern

Hallo, ich importiere gerade die Daten aus unserem alten oscommerce Shop in Shopware. Die Kategorien konnte ich mit dem Import/Export Plugin gut per csv importieren. Jetzt wollte ich die Hersteller importieren, aber ich finde in dem Import/Export Plugin keine Einstellung, mit der ich die Herstellerdaten importieren könnte. Eigentlich müsste man ein neues Profil anlegen und einen “Hersteller” Typen auswählen, aber den gibt es nicht. Muss ich jetzt selbst ein php Skript schreiben, um die Hersteller direkt in die Datenbank zu schreiben? Danke und viele Grüsse, Jens

1 Like

Hallo, der Hersteller des jeweiligen Artikels, wird mit dem Artikel importiert. Hersteller-Logo, etc. müssen meines Wissens händisch im Hersteller-Fenster nachgetragen werden.

Danke für die Antwort. So wie ich den Artikel Import verstanden habe, muss man eine Hersteller ID angeben. Also eine Referenz auf einen vorhandenen Hersteller. Somit muss man die Herstellerliste vor dem Artikelimport anlegen, wenn ich das richtig verstehe, Die Supplier Tabelle in der Shopware Datenbank ist recht einfach und der oscommerce Herstellertabelle sehr ähnlich. Wenn es keinen rchtigen Importweg in Shopware gibt, könnte man in einem php Skript, die oscommerce Herstellerdaten direkt von der einen Datenbank in die andere schreiben. Oder gibt es einen besseren Weg? Gruss, Jens

Hallo, das Feld supplier ist ein Textfeld, da kommt der Herstellername rein beim Artikelimport. Mit IDs wird hier nicht gearbeitet. Grüße Moritz

[quote=„Moritz Naczenski“]Hallo, das Feld supplier ist ein Textfeld, da kommt der Herstellername rein beim Artikelimport. Mit IDs wird hier nicht gearbeitet. Grüße Moritz[/quote] Ach so, danke. Also wird die Herstellertabelle in der Datenbank mit dem Artikelimport angelegt? Aber gibt es eine elegante Möglichkeit, die Herstellerdetails wie Image, Description usw zu importieren? Wie wird der Link zur Herstellerseite hergestellt. Wird der Herstellername verglichen? Danke, Jens Gesendet von meinem SM-G900F mit Tapatalk

Hallo, ich habe jetzt ein php Skript geschrieben, welches die Hersteller aus der oscommerce Datenbank direkt in die shopware Datenbank schreibt. Wer sich auskennt, kann es gerne anpassen und verwenden. VORSICHT. UNBEDINGT DIE SHOPWARE DATENBANK ABSICHERN! Dieses Skript kann Eure Datenbank zerstören. Viel Spass, Jens P.S.: Ich hatte die oscommerce manufacturer Datenbank etwas verändert, daher kann es sein, dass manche columns (wie z.B. „manufacturers_htc_title_tag“) nicht gefunden werden, aber man kann das Skript ja anpassen. [code]<?php /**

  • Created by PhpStorm.
  • User: Jens
  • Date: 13.11.2015
  • Time: 22:41
    */

require(’…/includes/configure.php’);
require(’…/includes/filenames.php’);
require(’…/includes/database_tables.php’);

// Shopware database
$shopware_server = „localhost“;
$shopware_username = „user“;
$shopware_password = „password“;
$shopware_database = „shopwaredatabase“;

//manufacturers_image_url
$image_url = „images/manufacturers/“;

//connect to databases
$osc_db = new mysqli(DB_SERVER,DB_SERVER_USERNAME,DB_SERVER_PASSWORD,DB_DATABASE);
if ($osc_db->connect_error) { die(‚Connect Error (‘ . $osc_db->connect_errno . ') ’ . $osc_db->connect_error); }$shopware_db = new mysqli($shopware_server,$shopware_username,$shopware_password, $shopware_database); if ($shopware_db->connect_error) { die(‚Connect Error (‘ . $shopware_db->connect_errno . ') ’ . $shopware_db->connect_error); } //get manufacturers from oscommerce database if ($osc_db->connect_error) { die(‚Connect Error (‘ . $osc_db->connect_errno . ‚) ’ . $osc_db->connect_error); } $osc_manufacturers_results = $osc_db->query(‚SELECT m.manufacturers_id, m.manufacturers_name, m.manufacturers_image, mi.manufacturers_description, mi.manufacturers_htc_title_tag, mi.manufacturers_htc_desc_tag FROM ’ . TABLE_MANUFACTURERS .‘ m , ’ . TABLE_MANUFACTURERS_INFO . ’ mi WHERE m.manufacturers_id = mi.manufacturers_id AND mi.languages_id = 2‘); while($row = mysqli_fetch_array($osc_manufacturers_results)) { echo $row[‚manufacturers_id‘] . ’ ’ . $row[‚manufacturers_name‘] . ’ ’ . $row[‚manufacturers_image‘]. ’ ’ . $row[‚manufacturers_description‘]; //add image path to manufacturer if ($row[‚manufacturers_image‘] != „“) $row[‚manufacturers_image‘] = $image_url . $row[‚manufacturers_image‘]; //insert or update shopware database $shopware_query = ‚INSERT INTO s_articles_supplier SET id = "‘ . $row[‚manufacturers_id‘] . ‚", name = "‘ . $row[‚manufacturers_name‘] . ‚", img = "‘ . $row[‚manufacturers_image‘] . ‚", description = "‘ . $row[‚manufacturers_description‘] . ‚", meta_title = "‘ . $row[‚manufacturers_htc_title_tag‘] . ‚", meta_description = "‘ . $row[‚manufacturers_htc_desc_tag‘] . ‚" ON DUPLICATE KEY UPDATE name = "‘ . $row[‚manufacturers_name‘] . ‚", img = "‘ . $row[‚manufacturers_image‘] . ‚", description = "‘ . $row[‚manufacturers_description‘] . ‚", meta_title = "‘ . $row[‚manufacturers_htc_title_tag‘] . ‚", meta_description = "‘ . $row[‚manufacturers_htc_desc_tag‘] . ‚";‘; echo ’

=====>’ . $shopware_query . ’


'; $shopware_results = $shopware_db->query($shopware_query); } //close database connections $shopware_db->close(); $osc_db->close(); ?> [/code]