Magento 2 – Import Probleme

Wie der aufmerksame Leser wahrscheinlich merkt, muss ich mich aktuell wieder ein wenig mehr mit M2 (in seiner aktuellen Version 2.4.2) auseinandersetzen und möchte einige Erfahrungen teilen.

Heute geht es um das Thema “Import von Daten in Magento 2“. Es soll auch nicht um eine spezielle Art des Imports gehen, sondern allgemeine Infos zusammenfassen.

Erste Info geht generell um Importe und hier speziell im Zusammenhang mit der Sprache: Das Problem fiel mir sowohl beim Import von Versandtabellen als auch Produktimporten auf. Und zwar differenziert Magento anhand der vom importierenden Admin verwendeten Sprache. Verwendet der Admin z.B. Deutsch und möchte eine Versandtabelle importieren in der die Überschriften in der ersten Zeile Englisch sind, wird das System verweigern. Ebenso auch bei Ja / Nein – Attributen. Hier kommt man mit der deutschen Benutzeroberfläche nicht weit, wenn man Yes / No verwendet und der Import bricht ab.

So ergibt sich also die Notwendigkeit -vor allem bei Zusammenarbeit mit anderen Personen- immer im Hinterkopf zu haben mit wem man arbeitet und welche Sprache verwendet wird. In unserem Fall arbeiten wir mit unseren vietnamesischen Kollegen natürlich in Englisch. Erarbeiten wir also eine komplexe Import-Datei, muss man sich klarmachen, dass es wohl sinnvoller ist die gleich in Englisch zu erstellen. Da muss man dann zur Not seine Admin-Sprache ändern bevor man importiert.

Die zweite Sache, die auffiel: Wir haben veile Attributesets, die wir in verschiedenen Attributsets zusammenfassen. Somit können wir je nach Produktart festlegen welche Attribute benötigt werden und welche nicht. ABER auch welche dieser speziellen Attribute Pflichtangaben sind und welche optional. Beispielsweise muss so bei einem Getränk die Füllmenge verpflichtend angegeben werden. Eine Größenangabe wie bei einem Pullover macht hingehen keinen Sinn.

Beim Import von Produkten kommt es nun aber immer wieder vor, dass Produkte aus verschiedenen Attributsets zusammen importiert werden und so ist es selbstverständlich, dass Pflichtangaben aus Attributset 1 bei Produlten von Attributset 2 nicht gefüllt sind.

Hier stellt sich Magento aber quer und teilt mit, dass die Felder der betreffenden Attribute nicht leer sein dürften (“Please make sure attribute “whatever” is not empty. in Zeile(n): X” (schön zu sehen wie das Sprachpaket funktioniert)) – wie in unserem Beispiel müsste also auch beim Pullover eine Füllmenge angeben sein. ODER (und das wird wohl der bislang einzig sinnvolle Weg sein) man erklärt die betreffenden Attribute für die Zeit des Imports für optional und wechselt es nach dem Import wieder zurück.

So bleibt einem nur zu hoffen, dass es

  1. nicht viele Attribute sind (wir hatten in diesem Projekt 55 Attribute), die geändert werden müssen UND
  2. dass man nicht häufiger Importe machen muss.

Wir sind in diesem Fall so vorgegangen, dass wir die Tabelle “eav_attributes” in der Datenbank gesichert haben (kopieren reicht auch) und dann folgenden Befehl haben laufen lassen:

UPDATE `eav_attribute` SET `is_required`=0 where `is_required`=1 

Anschließend waren alle Pflichtattribute nur noch optional und der Import war möglich. Wenn alle Importe drin sind, kann dann die gesicherte Version der Tabelle wieder eingespielt werden und man hat somit wieder den vorigen Zustand mit den gewünschten Pflichtfeldern.

Published by Covos

Seit 2009 arbeite ich nun intensiv mit Magento. Begonnen habe ich mit der Erstellung und dem Betrieb von B2C-Shops. Ausgeweitet wurde dies durch meine Tätigkeit im Logistik-Sektor. Hieraus entstanden erste spezialisierte B2E-Systeme. Heute arbeite ich tag-täglich mit spannenden B2C-, B2B- und B2E-Projekten und berichte in diesem Blog über Herausforderungen und gebe Insider-Tipps.

Leave a Reply

Your email address will not be published. Required fields are marked *