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; das wird jetzt sowohl auf der Produktseite als auch im Warenkorb genutzt, um den passenden Text auszuwählen (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 allem, was unten folgt (den Neu/Alt-Textbausteinen und dem globalen Standard-Textbaustein). Lass das Feld leer, um stattdessen die Texte unten zu verwenden.
5. Globale Standardtexte (Einstellungen - Textbausteine)
Gehe zu Einstellungen - Textbausteine, suche nach "fishnProductPreorder". Du findest:
deliveryTextForNewProducts / deliveryTextForOldProducts — werden sowohl auf der Produktseite als auch im Warenkorb angezeigt, für vorbestellbare Produkte, die KEINEN eigenen individuellen Text aus Schritt 4 hinterlegt haben. 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.
preorderDeliveryText — wird auf der Produktseite (anstelle der Lieferzeit) nur als letzte Option angezeigt: wenn das Produkt weder einen eigenen Text (Schritt 4) noch einen passenden Neu/Alt-Text von oben hat. Ist auch dieser leer, zeigt die Produktseite ganz normal die übliche Lieferzeit an. Dieser Text wird im Warenkorb nicht verwendet.
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 oben genannten Texten 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, "deliveryTextForNewProducts" oder "deliveryTextForOldProducts" (je nachdem) → falls auch das leer ist, 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. Das individuelle Feld aus Schritt 4 und "preorderDeliveryText" werden im Warenkorb nicht verwendet.