Kategoirestamm kopieren und neuer Überkategorie zuweisen


#1

Hallo,
leider lässt sich im Backend eine Kategorie mit all ihren Unterkategorien nicht über einen Button kopieren.
Ein passendes Modul hierzu konnte ich auch nicht finden.

Bevor ich hier nun sämtlich Unterkategorien mit Artikelzuweisung sehr zeitaufwendig neu erstelle, möchte ich hier im Forum mal nach Tips danach fragen.

Folgendes:
die beiden Hauptkategorien “Vintage Brillen” und “Vintage Sonnenbrillen” sollen, mit all ihren etlichen jetzt vorhandenen Unterkategorien aufgebaut, über 3 neue Hauptkategorien “men” “woman” “unisex” (über die Gender-Icons im Header) erscheinen.
Nur eben dann mit anderen Brillen gefüllt, die vom Shopbetreiber dann später manuel entfernt/neu zugewiesen werden können.

shop siehe hier

Aber erstmal geht es mir darum, den exakten Kategoriestamm mitsamt Brillen jeweils der 3 Genders zusätzlich als neue Unterkategorien zuzuweisen.

Was wäre hier die beste Vorgehensweise?
Gibt es eine schnelle Möglichkeite über die Datenbank? Oder doch manuell über das Shop-Backend?

Vielen Dank
Liebe Grüße Sandra


#2

Kleines PHP Script schreiben was die Aufgaben übernimmt, eine andere (sinnvolle) Alternative fällt mit gerade nicht ein …


#3

man könnte ja einfach CSV exportieren, in eine Excel Tabelle laden, neue IDs eintragen und wieder importieren.
Allerdings habe ich Bedenken im Hinblick auf Usability. Es müsste eine bessere Alternative zu 6 identischen Kategorienbäumen geben.


#4

Auf Anfrage kommt hier schon mal der erste Teil der Anleitung:

Schritt 1: Daten Export aus PhpMyAdmin

SELECT * FROM `oxcategories`
WHERE OXROOTID = '30e44ab83fdee7564.23264141'
ORDER BY OXSORT ASC

OXROOTID ist dabei die Hauptkategorie, deren Kategorienbaum wir kopieren wollen.
Diese kriegt man ganz einfach im OXID Backend raus: In der Kategorienliste Rechtsclick auf die Kategorie -> “Link URL Kopieren”. Da kommt sowas raus: javascript:top.oxid.admin.editThis('30e44ab83fdee7564.23264141');
30e##141 ist die ID.
Im PhpMyAdmin dann auf “Alle auswählen” auswählen und dann auf “Exportieren” gehen


Exportmethode: Angepasst
Format CSV,
“Spaltennamen in die erste Zeile setzen” einschalten, dann auf “OK”

Schritt 2: Daten in Excel aufbereiten

Neue Arbeitsmappe erstellen, oben auf “Daten” klicken, dann “Aus Text / CSV”, im nächsten Schritt UTF-8 auswählen, Daten importieren:


Nun müssen neue IDs generiert werden.
Die erste Zeile ist die Oberkategorie, danach folgt die erste Ebene, dann die Zweite. In meinem Beispiel ist es der Kategorienbaum “Bekleidung” aus den Demo-Daten.
Jetzt machst du “Suchen und Ersetzen” und ersetzt jede ID aus der Spalte OXID durch eine neue, ersetzt muss diese auch in anderen Spalten, daher immer auf “Alle ersetzen” klicken.

Schritt 3: Daten importieren

Hier gibts leider je nach Version von Excel und PhpMyAdmin große Unterschiede.
Im Endeffekt muss man eine CSV mit ersetzten IDs speichern und in die Datenbank importieren.
Für den eigentlichen Import muss man in PhpMyAdmin die Tabelle aufmachen, dann oben auf “Import” gehen, Datei hochladen, “CSV” auswählen und abschicken.
Der letzte Teil folgt noch