PS PrestaShop Mittel

Varianten in eigenständige Produkte aufteilen

Das Modul zum Aufteilen eines Variantenprodukts in eigenständige Produkte installieren und nutzen, von der Strategiewahl bis zum Rückgängigmachen einer Aufteilung.

Aktualisiert Modulversion 1.0.2

Installation

Legen Sie den Ordner dfproductsplitter in das Verzeichnis /modules Ihres Shops und installieren Sie das Modul über Module und Dienste im Back Office. Alternativ können Sie das mitgelieferte ZIP-Archiv direkt hochladen.

Bei der Installation legt das Modul zwei Tabellen an, PREFIX_df_split_job und PREFIX_df_split_item, und ergänzt einen Reiter Product Splitter im Menü Katalog. Es wird kein Klassen- oder Controller-Override installiert und keine Composer-Abhängigkeit benötigt.

Das Modul ist kompatibel mit PrestaShop 8.0 bis 9.x und PHP 7.4 bis 8.4. Tabellen- und Konstantennamen, die sich zwischen PrestaShop 8 und 9 unterscheiden, werden zur Laufzeit automatisch aufgelöst.

Die Oberfläche öffnen

Gehen Sie zu Katalog und dann Product Splitter. Der Bildschirm besteht aus vier Blöcken: Suche des Ausgangsprodukts, Aufteilungsstrategie, Generierungsoptionen und Historie der bereits durchgeführten Aufteilungen.

Das Modul arbeitet stets im Kontext des oben im Back Office ausgewählten Shops. Preise, Bestände und Varianten werden aus diesem Shop gelesen.

Das Ausgangsprodukt wählen

Geben Sie einen Namen, eine Referenz oder eine Produkt-ID in das Suchfeld ein. In den Ergebnissen erscheinen nur Produkte mit mindestens einer Variante im aktuellen Shop.

Nach der Auswahl zeigt das Modul Preis, Referenz, Anzahl der Varianten und Anzahl der verwendeten Attributgruppen an. Ein Link öffnet die Produktseite zur Kontrolle in einem neuen Tab.

Die Aufteilung auf bestimmte Varianten begrenzen

Aktivieren Sie das Kästchen Auf bestimmte Varianten begrenzen, um die vollständige Variantentabelle mit Referenz, Preisaufschlag und Bestand anzuzeigen. Deaktivieren Sie die Varianten, die Sie nicht extrahieren möchten. Nützlich, wenn Sie nur eine Farbstellung aus einer Reihe herauslösen und den Rest am Ausgangsprodukt belassen wollen.

Die beiden Aufteilungsstrategien

Ein Produkt je Variante

Jede Variante wird zu einem einfachen Produkt ohne eigene Varianten. Preis- und Gewichtsaufschlag der Variante wandern in den Basispreis und das Basisgewicht des neuen Produkts. Referenz, EAN, ISBN, UPC, MPN, Mindestbestellmenge und Verfügbarkeitsdatum der Variante werden übernommen, sofern gepflegt, andernfalls dienen die Werte des Ausgangsprodukts als Rückfall.

Dieser Modus eignet sich, wenn jede Variante eine eigene kommerzielle Existenz hat, etwa ein Parfum in drei Füllmengen oder eine Software mit drei Lizenzlaufzeiten.

Ein Produkt je Wert einer Attributgruppe

Sie wählen eine Attributgruppe zum Extrahieren, zum Beispiel Farbe. Das Modul erzeugt ein Produkt je Wert dieser Gruppe, und die übrigen Gruppen bleiben Varianten des neuen Produkts. Ein Produkt mit drei Farben und fünf Größen wird zu drei Produkten mit je fünf Varianten.

Hat das Produkt nur eine Attributgruppe, fällt dieser Modus automatisch auf den Variantenmodus zurück. In der Vorschau erscheint ein Hinweis.

Wie die Preise identisch bleiben

Im Gruppenmodus nimmt das Modul den niedrigsten Preisaufschlag unter den Varianten jedes extrahierten Werts. Dieser Aufschlag wandert in den Basispreis des neuen Produkts, danach wird jeder verbleibende Aufschlag durch Subtraktion neu berechnet.

Beispiel. Ein Produkt zu 89 Euro, erhältlich in Weiß und Schwarz, in den Größen S, M und L. Die weißen Varianten tragen Aufschläge von 0, 3 und 6 Euro. Das Produkt Weiß wird zu 89 Euro angelegt, mit Aufschlägen von 0, 3 und 6 Euro auf seinen drei Größen. Wären die weißen Aufschläge 3, 6 und 9 Euro gewesen, entstünde das Produkt Weiß zu 92 Euro mit Aufschlägen von 0, 3 und 6 Euro. In beiden Fällen bleibt der vom Kunden gezahlte Preis für eine bestimmte Größe unverändert.

Das Gewicht wird genau gleich behandelt.

Generierungsoptionen

Namensvorlage

Der Name der erzeugten Produkte wird aus einer Vorlage gebildet. Drei Variablen stehen bereit: der Name des Ausgangsprodukts, die aufgenommenen Attributwerte und die Referenz des Ausgangsprodukts. Die Standardvorlage verbindet Ausgangsnamen und Attributwerte mit einem Bindestrich.

Der Name wird in jeder Shopsprache unabhängig erzeugt, mit übersetzten Attributwerten. Von PrestaShop in einem Produktnamen verbotene Zeichen werden automatisch entfernt und das Ergebnis auf 128 Zeichen gekürzt.

Referenzvorlage

Vier Variablen stehen bereit: die Referenz des Ausgangsprodukts, die Referenz der Variante, ein Slug der Attributwerte und die ID des Ausgangsprodukts. Ergibt die Vorlage eine leere Zeichenkette, greift das Modul auf die Variantenreferenz und danach auf die Referenz des Ausgangsprodukts zurück.

URL-Umschreibung

Für jede Sprache wird aus dem Produktnamen eine URL-Umschreibung erzeugt. Das Modul prüft, ob sie in der betreffenden Sprache bereits existiert, und hängt bei Bedarf ein Zahlensuffix an, was Kollisionen und doppelte URLs verhindert.

Übernommene Bilder

Drei Modi stehen zur Wahl. Bilder der Variante dupliziert vorrangig die den verarbeiteten Varianten zugeordneten Bilder, mit Rückfall auf alle Bilder des Ausgangsprodukts, wenn keines zugeordnet ist. Alle Bilder dupliziert stets den gesamten Bestand. Keine Bilder erzeugt die Produkte ohne Visual.

Die Duplizierung erfolgt physisch. Die Originaldatei und alle bereits erzeugten Miniaturen werden kopiert, unabhängig vom Format, jpg ebenso wie webp oder avif, und auch die übersetzten Bildunterschriften werden übernommen. Das erste Bild jedes Produkts wird zum Titelbild.

Zu übernehmende Daten

Zehn Kontrollkästchen steuern die Übernahme von Beständen, Kategorien, Eigenschaften, Schlagwörtern, Sonderpreisen, Transporteuren, Anhängen, Lieferanten, Anpassungsfeldern und dem Zubehör des Ausgangsprodukts. Die ersten neun sind standardmäßig aktiviert.

Ergänzende Verarbeitung

Aufgenommene Attribute in Eigenschaften umwandeln legt eine Eigenschaft mit dem öffentlichen Namen der Attributgruppe und einen Wert mit dem Namen des Attributs an und verknüpft beides mit dem erzeugten Produkt. Existieren Eigenschaft oder Wert bereits, werden sie wiederverwendet. Praktisch, um die Farbe nach der Aufteilung als Filterkriterium zu behalten.

Erzeugte Produkte untereinander verknüpfen fügt jedes erzeugte Produkt als Zubehör aller anderen aus derselben Aufteilung hinzu.

Suche neu indexieren startet am Ende des Durchlaufs die PrestaShop-Suchindexierung für die erzeugten Produkte.

Status der erzeugten Produkte

Zur Wahl stehen wie das Ausgangsprodukt, alle aktiv oder alle deaktiviert. Der deaktivierte Modus erlaubt die Prüfung der Seiten vor der Veröffentlichung.

Vor dem Schreiben in der Vorschau prüfen

Die Schaltfläche Vorschau berechnet den vollständigen Plan, ohne etwas in die Datenbank zu schreiben. Sie erhalten die Anzahl der zu erzeugenden Produkte und für jedes davon Name, Anzahl der erhaltenen Varianten sowie den resultierenden Nettopreis und das Gewicht.

Die Schaltfläche Aufteilung starten bleibt deaktiviert, solange keine Vorschau erstellt wurde, und wird erneut deaktiviert, sobald Sie eine Option ändern.

Die Aufteilung ausführen

Beim Start speichert das Modul einen Job in der Datenbank mit der vollständigen Konfiguration und der Liste der zu erzeugenden Produkte und verarbeitet die Elemente dann in aufeinanderfolgenden AJAX-Stapeln. Eine Fortschrittsanzeige zeigt den Verlauf, ein Protokoll listet jedes erzeugte Produkt mit einem direkten Link zu seiner Seite.

Das Feld Produkte je Stapel bestimmt, wie viele Produkte pro Anfrage erzeugt werden. Der Standardwert ist fünf.

Auf geteiltem Hosting oder bei Produkten mit vielen Bildern senken Sie die Stapelgröße auf zwei oder drei. Die Verarbeitung dauert etwas länger, läuft aber nicht Gefahr, das PHP-Ausführungszeitlimit zu erreichen.

Was mit dem Ausgangsprodukt geschieht

Vier Verhaltensweisen stehen bereit, angewendet nachdem alle Produkte erzeugt wurden.

  • Unverändert behalten. Das Ausgangsprodukt bleibt aktiv und unverändert. Vorübergehend entstehen Dubletten im Katalog, was einen Vergleich vor der Entscheidung erlaubt.
  • Deaktivieren. Das Ausgangsprodukt geht offline, bleibt im Back Office aber einsehbar.
  • Deaktivieren und per 301 auf das erste erzeugte Produkt weiterleiten. Das Ausgangsprodukt wird deaktiviert, sein Weiterleitungstyp auf dauerhafte Weiterleitung zu einem Produkt gesetzt, Ziel ist das erste erzeugte Produkt. Diese Option ist vorzuziehen, wenn die ursprüngliche URL indexiert ist oder eingehende Links erhält.
  • Endgültig löschen. Das Ausgangsprodukt wird nach der Erzeugung gelöscht. Wählen Sie diese Option erst, nachdem Sie das Ergebnis bei einer ersten Testaufteilung geprüft haben.

Historie und Rollback

Jede Aufteilung erscheint in der Historie mit ihrer Kennung, dem Ausgangsprodukt, der Anzahl verarbeiteter Produkte, ihrem Status und ihrem Datum. Die Schaltfläche Detail klappt die Liste der erzeugten Produkte mit ihrem jeweiligen Status und einem Link zu jeder Seite auf.

Die Schaltfläche Rückgängig löscht alle von diesem Job erzeugten Produkte und stellt danach den aktiven oder inaktiven Status sowie die ursprüngliche Weiterleitung des Ausgangsprodukts genau so wieder her, wie sie vor der Aufteilung waren. Der Job wechselt in den Status rückgängig gemacht.

Wenn Sie das Ausgangsprodukt endgültig gelöscht haben, entfernt das Rollback zwar die erzeugten Produkte, kann das Ursprungsprodukt aber nicht wiederherstellen. Nutzen Sie diese Option erst nach Prüfung des Ergebnisses.

Was im Einzelnen übernommen wird

Bestände

Die Menge jeder Variante wird auf das entsprechende Produkt beziehungsweise die entsprechende Variante des erzeugten Produkts übertragen. Das am Ausgangsprodukt definierte Verhalten bei Nichtverfügbarkeit wird übernommen. Der Bestand des Ausgangsprodukts wird nicht verringert.

Kategorien

Alle Kategorien des Ausgangsprodukts werden übernommen, einschließlich der Standardkategorie.

Eigenschaften

Eigenschaften werden kopiert. Benutzerdefinierte Werte, die zu einem einzelnen Produkt gehören, werden dupliziert, damit jedes erzeugte Produkt einen eigenen besitzt.

Sonderpreise

Die Sonderpreise des Ausgangsprodukts werden kopiert. Für alle Varianten definierte Sonderpreise werden unverändert übernommen. Für eine bestimmte Variante definierte Sonderpreise werden nur übernommen, wenn diese Variante zum erzeugten Produkt gehört, und gelten dann für das gesamte Produkt.

Lieferanten

Lieferantenzeilen werden auf Produktebene übernommen. Dubletten über Varianten desselben Lieferanten hinweg werden entfernt.

Multishop

Die erzeugten Produkte werden denselben Shops zugeordnet wie das Ausgangsprodukt.

Sonderfälle und Grenzen

  • Produktpakete lassen sich nicht aufteilen. Das Modul weist vor jeder Verarbeitung darauf hin.
  • Virtuelle und herunterladbare Produkte werden normal behandelt.
  • Bestellungen auf das Ausgangsprodukt werden nicht verändert. Sie verweisen weiterhin auf das ursprüngliche Produkt und dessen Variante.
  • Kundenbewertungen am Ausgangsprodukt werden nicht übertragen.
  • Die Handhabung kanonischer URLs Ihres Themes kann nach einer umfangreichen Aufteilung ein Leeren des Caches erfordern.

Fehlerbehebung

Die Verarbeitung bricht unterwegs ab

Senken Sie die Anzahl der Produkte je Stapel. Produkte mit vielen Bildern oder vielen Varianten sind am aufwendigsten. Der Job bleibt in der Datenbank, ist über die Oberfläche aber nicht fortsetzbar: machen Sie ihn in der Historie rückgängig, um die bereits erzeugten Produkte zu löschen, und starten Sie ihn dann mit kleinerer Stapelgröße erneut.

Bilder werden nicht kopiert

Prüfen Sie die Schreibrechte auf dem Produktbildverzeichnis img/p. Das Modul legt die benötigten Unterordner an, kann eine Einschränkung des Dateisystems aber nicht umgehen.

Die Preise entsprechen nicht meiner Erwartung

Sehen Sie in die Vorschau, die den berechneten Nettopreis für jedes Produkt anzeigt. Im Gruppenmodus ist der Basispreis eines Produkts der Ausgangspreis zuzüglich des niedrigsten Aufschlags der extrahierten Gruppe für diesen Wert, was nicht zwingend dem Aufschlag der Standardvariante entspricht.

Zwei Produkte tragen dieselbe URL-Umschreibung

Das Modul prüft die Eindeutigkeit bei der Erzeugung und hängt bei Kollision ein Zahlensuffix an. Tritt der Konflikt später auf, stammt er wahrscheinlich von einem anderen Modul oder einem Import. Ändern Sie die Umschreibung im SEO-Reiter der Produktseite.

Deinstallation

Die Deinstallation entfernt den Reiter, die Einstellungen und die beiden Modultabellen. Die durch Ihre Aufteilungen erzeugten Produkte bleiben erhalten. Wenn Sie sie entfernen möchten, machen Sie zuerst die betreffenden Jobs in der Historie rückgängig und deinstallieren Sie das Modul danach.

War diese Seite hilfreich?

Immer noch nicht weiter? Support kontaktieren