Magento
Magento ist ein Open Source Shopsystem auf Basis von PHP und MySQL.
CSV-Dateien prüfen und bearbeiten
In Magento können die Produktdaten exportiert werden. Für eine lokale Kopie des Shops sollten die neu hinzugefügten Produkte mithilfe dieser Funktion in den lokalen Shop übernommen werden.
Der Import dieser Datei ist fehlgeschlagen. Obwohl der Shop lokal auf einem leistungsfähigen Rechner installiert ist, ist der Import ohne Fehlermeldung einfach "eingefroren".
Die CSV-Datei hat über 350 Spalten und lässt sich mit Excel nicht mehr bearbeiten.
Eine Bearbeitung mit NotePad++ wäre möglich, allerding läßt bei mehr als 350 Spalten die Übersichtlichkeit innerhalb eines Texteditors sehr zu wünschen übrig.
Der Import der gesamten CSV in MySQL scheitert an der unbekannten Struktur der Tabelle. Mit entsprechend viel Handarbeit ist es dennoch möglich die Tabelle zu importieren. Allerdings ist dies kein Verfahren, was man mehr als einmal versuchen möchte.
Im Netz habe ich ein tolles Tool gefunden, den CSV - file editor.
Warum gibt es so viele Spalten?
Magento verwendet für die Erfasssung der Produkteigenschaften das EAV-Model, damit werden zwar mehr Ressourcen gebunden und unter Umständen auch die Seitenladenzeiten verlängert, aber es ermöglicht im Prinzip unendlich viele unterschiedliche Produkteigenschaften.
Solange für jede zusätzliche Eigenschaft Erweiterungen in der Datenbank durch den DBA und Anpassungen im Programm durch den Programmierer notwendig waren, wurde sparsam mit Eigenschaften umgegangen. Nun da dies nicht mehr notwendig ist, explodiert die Zahl der Eigenschaften: aus der Eigenschaft: Farbe wurde nun die die Produktfarbe, Farbe, Folienfarbe, Bezugfarbe, Grundfarbe, Farbe der Lackierung, usw. Das Gleiche läßt sich für die Höhe, Breite, Durchmesser, Gewicht fortsetzen.
Hier gilt, wie so oft, weniger ist mehr.
Quellen und weiterführende Informationen
- Tool: CSV-Ed
- Was ist EAV?
Fehler wegen always_populate_raw_post_data
Sowohl bei der Installation, als auch bei Updates stoppt Magento, wenn php_value always_populate_raw_post_data nicht off ist.
In einer lokalen Entwicklungsumgebung oder dem eigenem Server kann der Wert direkt in der php.ini geändert werden. Auf einem Webspace kann alternativ versucht werden den Wert über die Datei .htaccess zu ändern. Ist dies nicht möglich belibt nur die Anfrage beim Support des Webspaces.
php.ini
php_value always_populate_raw_post_data -1.htaccess
php_value always_populate_raw_post_data -1
log_visitor_info
Magento - Tabelle: log_visitor_info
Die Tabelle: log_visitor_info enthält Daten der Besucher, wie z.B. http_referer und http_user_agent.
Aus Datenschutzgründen sollten diese Daten regelmäßig bereinigt werden.
ToDo: Abklären, ggf. erfolgt dies innhalb Magento automatisch oder manuell im Admin-Bereich.
Dateien
- app\
-
- app\config.php
- app\env.php
- app\di.xml - In Zeile 607 symlink gegen copy geändert (local) im Netz Original belassen.
- var\
-
- var\log\debug.php
- var\log\exeption.php
- var\log\install.php
- var\log\system.php
- var\report\ - Verzeichnis
- var\tmp\ - Verzeichnis
- var\view_preprocessed\ - Verzeichnis mit Unterverzeichnissen
Unterkategorien
Shop auf anderen Server übertragen
Moderne Serververwaltungstools erlauben die Übertragung von Webinstallationen quasi per Knopfdruck via FTP und per Datenbankexport direkt in die Zieldatenbank.
In einigen Fällen stehen solche Tools nicht zu Verfügung oder die Installation ist mit der Zeit so groß geworden, dass ein Umzug an der Überschreitung von Ressourcen, wie z.B. Script-Ausführungszeiten scheitert.
Aus diesem Grund ist es sinnvoll vor dem Transfer, nach einem Voll-BackUp nicht benötigte Daten zu bereinigen und die Index-Tabellen in der neuen Umgebung neu zu erstellen.
Datenstruktur
Die Datenbankstruktur Magento 2.1 wird für die Übernahme der Daten aus einem Magento 1.7 - Shop im Vergleich zur Datenstruktur von Magento 1.7 betrachtet. Ziel ist ggf. die Übernahme der Produktendaten aus Magento-Shops bei einer Migration per SQL-Script durchzuführen.
Tabellen
-
catalog_
-
cms_
-
eav_
-
sequence_
-
store_
Die Analyse ist derzeit noch unvollständig!