1. Installation
Installiere und aktiviere das Plugin unter Erweiterungen.
2. Vorbestellung für ein Produkt aktivieren
Gehe zu Kataloge - Produkte (Produkt öffnen) - Spezifikationen - Custom Fields. Dort findest du den Schalter "Produkt kann vorbestellt werden". Schalte ihn EIN.
Was das genau bewirkt: Sobald der Bestand dieses Produkts unter 1 fällt, wird der normale "Kaufen"-Button auf der Storefront automatisch durch einen "Vorbestellen"-Button ersetzt. Steigt der Bestand wieder auf 1 oder mehr, wechselt der Button automatisch wieder zurück zu einem normalen "Kaufen"-Button — du musst bei Bestandsänderungen nichts manuell umstellen. Ist der Schalter AUS, macht dieses Plugin für dieses Produkt überhaupt nichts; es verhält sich exakt wie Standard-Shopware (inklusive normalem Abverkauf/Closeout, falls du das nutzt).
3. Plugin-Konfigurationsseite
Gehe zu Erweiterungen - Vorbestellung wenn Bestand < 1 +Checkbox gesetzt - Konfiguration. Dort findest du:
Verkaufskanal — lege fest, ob diese Konfiguration für alle Verkaufskanäle oder nur für einen bestimmten Verkaufskanal gilt.
Vorbestellungen für neue Produkte zulassen (Schalter) — betrifft nur Produkte, die NACH dem Einschalten dieser Option neu erstellt werden. Jedes Mal, wenn ein komplett neues Produkt in Shopware angelegt wird, schaltet das Plugin automatisch den Schalter "Produkt kann vorbestellt werden" für dieses neue Produkt ein. Bereits existierende Produkte werden dadurch nicht rückwirkend verändert.
Vorbestellung für alle Produkte zulassen (Button "Set Vorbestellung") — das ist eine einmalige Sammelaktion. Ein Klick darauf schaltet sofort den Schalter "Produkt kann vorbestellt werden" für alle bereits vorhandenen Produkte in deinem Shop mit einem Klick ein, sodass du nicht jedes Produkt einzeln öffnen musst.
Einstellen der Textfarbe innerhalb des Warenkorbs — legt die Textfarbe der Vorbestellungs-Nachricht im Warenkorb fest (siehe Textbausteine unten). Lösche nach der Farbänderung den Shopware-Cache, damit die neue Farbe übernommen wird.
"Wollen Sie das Veröffentlichungsdatum oder das Erstellungsdatum verwenden?" — legt fest, wie das Plugin erkennt, ob ein Produkt als "neu" oder "alt" gilt, um zu entscheiden, welcher Warenkorb-Text angezeigt wird (siehe die beiden Textbausteine unten). Beide Optionen nutzen dieselbe Einstellung unter Einstellungen - Storefront - "Produkte für X Tage als neu markieren" — das Plugin hat keinen eigenen, separaten Tage-Zähler, sondern verwendet genau diese Shopware-Einstellung:
Veröffentlichungsdatum: Das Produkt gilt als "neu", wenn sein Veröffentlichungsdatum innerhalb der letzten X Tage liegt (X = obige "Als neu markieren"-Einstellung). Ist am Produkt kein Veröffentlichungsdatum gesetzt, gilt es als "alt".
Erstellungsdatum: Das Produkt gilt als "neu", wenn es innerhalb der letzten X Tage in Shopware angelegt wurde (gleiches X). Das ist die Standardoption.
4. Eigenen Text pro Produkt festlegen (optional)
Gehe zu Kataloge - Produkte (Produkt öffnen) - Spezifikationen - Custom Fields. Dort findest du zusätzlich "Individueller Liefertext für Vorbestellung". Wenn du hier etwas eingibst, wird genau dieser Text auf der Produktseite dieses Produkts anstelle der Lieferzeit angezeigt, solange das Produkt nicht vorrätig und vorbestellbar ist — und dieser Text hat immer Vorrang vor dem globalen Textbaustein unten. Lass das Feld leer, um stattdessen den globalen Standardtext zu verwenden.
5. Globale Standardtexte (Einstellungen - Textbausteine)
Gehe zu Einstellungen - Textbausteine, suche nach "fishnProductPreorder". Du findest:
preorderDeliveryText — wird auf der Produktseite (anstelle der Lieferzeit) für jedes vorbestellbare, nicht vorrätige Produkt angezeigt, das KEINEN eigenen individuellen Text aus Schritt 4 hinterlegt hat. Ist auch dieser Textbaustein leer, zeigt die Produktseite ganz normal die übliche Lieferzeit an.
deliveryTextForNewProducts / deliveryTextForOldProducts — diese beiden werden im Warenkorb (nicht auf der Produktseite) für vorbestellte Positionen angezeigt. Das Plugin wählt automatisch EINEN der beiden Texte aus, je nachdem, ob das Produkt laut Einstellung aus Schritt 3 als "neu" oder "alt" gilt. Ist der entsprechende Text leer, wird für diese Position im Warenkorb nichts Zusätzliches angezeigt.
snippetsHelp — dieser Eintrag wird nirgendwo auf der Storefront angezeigt. Es ist nur ein kurzer Hinweistext, damit du diese Erklärung durch die Suche nach "fishnProductPreorder" schnell wiederfindest.
In allen drei oben genannten Texten (preorderDeliveryText, deliveryTextForNewProducts, deliveryTextForOldProducts) sowie im individuellen Feld aus Schritt 4 kannst du an beliebiger Stelle den Platzhalter {{deliveryTime}} eingeben. Das Plugin ersetzt ihn automatisch durch die am jeweiligen Produkt hinterlegte Lieferzeit (Produkte - dein Produkt - Allgemein - Lieferzeit), zum Beispiel "3-4 Tage". Hat ein Produkt keine Lieferzeit hinterlegt, wird der Platzhalter einfach durch nichts ersetzt (bleibt leer).
6. Zusammenfassung — was wird wo angezeigt
Produktseite, wenn nicht vorrätig und vorbestellbar: individueller Text aus Schritt 4 → falls leer, globaler Textbaustein "preorderDeliveryText" → falls auch dieser leer ist, die normale Shopware-Lieferzeit.
Warenkorb, für eine vorbestellte Position: "deliveryTextForNewProducts" oder "deliveryTextForOldProducts" (je nachdem) → falls leer, wird nichts Zusätzliches angezeigt.