# Flash Sale & Countdown — Vollständige Anleitung

> Überblick und Voraussetzungen Flash Sale verwandelt Ihre Aktionen in echte zeitlich begrenzte Flash-Sales. Sie planen eine Kampagne über ein Datumsfenster; das Modul wendet den Rabatt automatisch über die nativen spezifischen…

- Seite: <https://www.datafirefly.com/de/documentation/dfflashsale/>
- Sprache: de
- Aktualisiert am: 2026-10-01
- Weitere Sprachen: [fr](https://www.datafirefly.com/documentation/dfflashsale/index.md), [en](https://www.datafirefly.com/en/documentation/dfflashsale/index.md), [es](https://www.datafirefly.com/es/documentation/dfflashsale/index.md), [it](https://www.datafirefly.com/it/documentation/dfflashsale/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfflashsale/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfflashsale/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfflashsale/index.md)
- Index: <https://www.datafirefly.com/de/documentation/llms.txt>

## Überblick und Voraussetzungen

Flash Sale verwandelt Ihre Aktionen in echte zeitlich begrenzte Flash-Sales. Sie planen eine Kampagne über ein Datumsfenster; das Modul wendet den Rabatt automatisch über die nativen spezifischen Preise von PrestaShop an und zeigt einen mit der Serverzeit synchronisierten Countdown. Der Aktionspreis gilt somit überall (Produktseite, Listen, Warenkorb und E-Mails), ohne jede Änderung an Ihrem Theme.

- Kompatibel mit PrestaShop 8.0 bis 9.x, Classic-Theme und abgeleitete Themes.
- PHP 7.4 bis 8.3.
- Multistore und mehrsprachig (FR/EN/ES/DE/IT/PL/NL/PT).
- Keine CRON-Aufgabe erforderlich: Aktivierung und Abschaltung des Rabatts steuern die Daten des spezifischen Preises.
- PrestaShop-konforme Architektur (ModuleAdminController, ObjectModel), PSR-4-Autoloader ohne Composer-Abhängigkeit.

Der Rabatt wird in einen **spezifischen Preis** eingetragen, dessen `from`-/`to`-Fenster den Kampagnendaten entspricht. PrestaShop aktiviert und entfernt ihn selbstständig, sekundengenau.

## Installation

Installieren Sie das Modul wie jedes PrestaShop-Modul:

1. Laden Sie das Archiv `dfflashsale.zip` aus Ihrem Kundenkonto herunter.
2. Gehen Sie im Backoffice zu **Module > Modulmanager**.
3. Klicken Sie auf **Ein Modul hochladen** und legen Sie das Archiv ab.
4. Verwalten Sie Ihre Kampagnen nach der Installation über **Katalog > Flash-Sales**.

Bei der Installation erstellt das Modul seine Tabellen (Kampagnen, Ausrichtung, Zuordnung der spezifischen Preise), registriert seine Anzeige-Hooks und fügt den Tab **Flash-Sales** unter Katalog hinzu.

## Allgemeine Moduleinstellungen

Die Konfigurationsseite (**Konfigurieren** im Modulmanager) bündelt die globalen, für alle Kampagnen gemeinsamen Einstellungen:

- **Countdown mit dem Server synchronisieren**: richtet die Uhr nach der Serverzeit aus (empfohlen). Siehe den eigenen Abschnitt.
- **Seiteninhalt verschieben (Push Body)**: fügt automatisch einen Abstand hinzu, damit der Sticky-Banner den Inhalt nie überdeckt.
- **Banner auf Mobilgeräten anzeigen**: zeigt oder verbirgt den Banner auf kleinen Bildschirmen.
- **Z-Index des Banners**: Stapelebene des Banners; erhöhen Sie sie, wenn ein Theme-Element darüber erscheint.

## Eine Flash-Sale-Kampagne anlegen

Klicken Sie im Tab **Katalog > Flash-Sales** auf **Kampagne hinzufügen**. Das Formular ist in Panels gegliedert.

### Allgemein

- **Name**: interner Bezeichner der Kampagne (frei).
- **Aktiv**: aktiviert oder pausiert die Kampagne.
- **Start-/Enddatum**: das Aktivitätsfenster. Rabatt und Countdown stützen sich auf diese Daten.
- **Priorität**: Wenn mehrere Kampagnen dasselbe Produkt betreffen, gewinnt für die Anzeige die mit der höchsten Priorität.
- **Shops**: Wählen Sie im Multistore die betroffenen Shops.

### Rabatt

- **Rabattart**: **Prozentsatz** (z. B. -30 %) oder **Festbetrag** (z. B. -15 €).
- **Wert**: der Prozentsatz oder der Betrag des Rabatts.
- **Währung**: bei einem Festbetragsrabatt die Referenzwährung.
- **Steuer**: gibt an, ob der Festbetrag inklusive oder exklusive Steuer gilt.

Der Rabatt wird über spezifische Preise angewendet: Er kombiniert sich gemäß ihrer Priorität mit den nativen Preisregeln von PrestaShop und wird bereits im Warenkorb angezeigt.

### Ausrichtung

Wählen Sie den Umfang der Kampagne:

- **Gesamter Katalog**: Der Rabatt gilt für alle Produkte.
- **Kategorien**: Wählen Sie eine oder mehrere Kategorien. Die Option **Unterkategorien einbeziehen** erweitert den Rabatt auf den gesamten Baum.
- **Produkte**: Suchen und wählen Sie bestimmte Produkte (nach Name, Referenz oder ID).
- **Marken**: Wählen Sie einen oder mehrere Hersteller. Alle ihre Produkte werden automatisch einbezogen, auch die nach dem Anlegen der Kampagne hinzugefügten.

### Anzeige

- **Countdown-Banner**: zeigt die globale Promo-Leiste.
- **Bannerposition**: oben oder unten auf der Seite.
- **Sticky-Banner**: hält den Banner beim Scrollen sichtbar.
- **Auf Produktseiten anzeigen**: fügt unter dem Preis eine Countdown-Karte hinzu.
- **Auf der Startseite anzeigen**: fügt einen Promo-Block auf der Startseite hinzu.
- **Badge auf den Produktbildern**: zeigt den Kampagnennamen über dem Foto, in den Listen und auf der Produktseite.
- **Teaser vor dem Start**: zeigt vor dem Startdatum einen „startet in…“-Countdown.
- **Am Ende des Countdowns**: das Element ausblenden oder eine Endnachricht anzeigen.

### Erscheinungsbild und Texte

Im Panel **Erscheinungsbild** stellen Sie die Hintergrundfarbe, die Textfarbe und die Akzentfarbe sowie den Link der Call-to-Action-Schaltfläche (CTA) ein. Das Panel **Texte** bündelt die übersetzbaren Beschriftungen: Bannertitel und -untertitel, Schaltflächentext und Endnachricht, für jede Shop-Sprache editierbar.

## Wie die Planung funktioniert

Beim Speichern einer Kampagne erstellt das Modul die zur Ausrichtung passenden spezifischen Preise: einen globalen spezifischen Preis (Produkt 0) für „gesamter Katalog“ oder je einen spezifischen Preis pro Produkt für die Kategorie- und Produktausrichtung. Das Gültigkeitsfenster jedes spezifischen Preises ist an Start- und Enddatum der Kampagne ausgerichtet.

PrestaShop schaltet den Rabatt also selbst ein und aus, sekundengenau, ohne geplante Aufgabe. Die IDs der erstellten spezifischen Preise werden in einer Zuordnungstabelle gespeichert, damit sie beim Bearbeiten, Löschen der Kampagne oder beim Deinstallieren sauber entfernt werden.

Bei einer Kategorieausrichtung mit Unterkategorien wird die Produktliste beim Speichern durch Durchlaufen des Baums (nleft / nright) aufgelöst. Denken Sie daran, die Kampagne erneut zu speichern, wenn Sie Ihre Kategorien umstrukturieren.

## Der serversynchrone Countdown

Der Countdown ist an der Serverzeit ausgerichtet, nicht an der des Besuchers. Beim Rendern übergibt das Modul den Server-Zeitstempel und das Enddatum; das Skript berechnet einen Versatz zwischen Serverzeit und lokaler Zeit und zählt dann lokal ab diesem Versatz herunter.

Ein Besucher, der die Uhr seines Computers vor- oder zurückstellt, verfälscht den Timer also nicht. Es ist kein wiederholter Netzwerkaufruf nötig, und der Countdown bleibt für alle flüssig und korrekt.

Sie können die Serversynchronisation in den allgemeinen Einstellungen deaktivieren; der Countdown stützt sich dann auf die lokale Zeit des Browsers.

## Das Badge auf den Produktbildern

Die Option **Badge auf den Produktbildern** zeigt den Aktionsnamen direkt auf dem Produktbild, sowohl in den Kategorielisten als auch auf der Produktseite. Sie ist das richtige Mittel, um eine benannte Aktion sichtbar zu machen, zum Beispiel BLACK FRIDAY.

Die Beschriftung wird im Panel **Texte** im Feld **Text des Produkt-Badges** je Sprache eingegeben. Bleibt sie leer, greift das Modul auf den Bannertitel zurück. Die Farbe des Badges ist die Akzentfarbe der Kampagne.

Technisch wird das Badge den nativen _Flags_ von PrestaShop hinzugefügt, also denselben, die bereits die Labels „Neu“ oder „-30%“ anzeigen. Es wird daher von Ihrem Theme positioniert und gestaltet, ohne Template-Überschreibung.

Das Badge erscheint nur während der laufenden Kampagne. Im Teaser-Modus, vor dem Startdatum, bleibt es ausgeblendet, damit kein noch nicht angewendeter Rabatt angekündigt wird.

## Anzeigebereich und Größe des Banners

Seit Version 1.2.0 steuern zwei Einstellungen im Bereich **Anzeige**, wo das Banner erscheint und wie viel Platz es einnimmt. Sie werden pro Kampagne festgelegt.

### Banner anzeigen auf

- **Gesamter Shop**: Das Banner erscheint auf allen Seiten. Das ist der Standardwert, den auch die vor 1.2.0 angelegten Kampagnen behalten.
- **Von der Aktion betroffene Seiten**: Produktseiten der ausgewählten Artikel sowie Seiten der ausgewählten Kategorien oder Marken. Eine Kampagne auf den gesamten Katalog bleibt überall sichtbar.
- **Nur Produktseiten der Aktionsartikel**: Das Banner erscheint nur auf der Seite eines Produkts, das von der Kampagne erfasst ist.

Auf einer Seite, auf der die Kampagne mit der höchsten Priorität nicht zugelassen ist, geht das Modul zur nächsten Kampagne nach Priorität über. So können Sie ein Banner einer Marke vorbehalten und im übrigen Shop ein allgemeines Banner behalten.

Bei einer Kampagne auf einzelne Produkte beschränkt sich der Bereich „Betroffene Seiten“ auf deren Produktseiten: Kategorieseiten, die diese Produkte enthalten, zeigen das Banner nicht.

### Bannergröße

- **Standard**: Titel, Untertitel und Countdown mit Beschriftungen (Tage, Stunden, Min, Sek). Etwa 56 px hoch am Desktop.
- **Kompakt**: Countdown ohne Beschriftungen im Format `2T 14:05:33`. Etwa 35 px am Desktop und 55 px auf dem Smartphone, gegenüber 128 px in Standard.
- **Mini (eine Zeile)**: einzeilige Leiste von etwa 26 px, Untertitel ausgeblendet und Titel gekürzt, wenn der Platz nicht reicht. Das unauffälligste Format auf dem Smartphone.

In Kompakt und Mini verschwindet die Tageseinheit, sobald weniger als 24 Stunden verbleiben.

## Der Evergreen-Modus

Der **Evergreen**-Modus verwandelt die Kampagne in einen individuellen Dauertimer: Jeder Besucher erhält seine eigene Frist, ausgelöst bei seinem ersten Besuch und basierend auf einer von Ihnen festgelegten Dauer in Minuten. Die Frist wird lokal (localStorage) gespeichert, um über Seiten und Besuche hinweg konsistent zu bleiben.

Im Evergreen-Modus ist der Countdown für jeden Besucher individuell und entspricht nicht dem realen Rabattfenster. Nutzen Sie ihn für personalisierte Dringlichkeitsnachrichten und nicht, um ein gemeinsames Aktionsende zu signalisieren.

## Mehrsprachig und Multistore

Alle Beschriftungen (Titel, Untertitel, Schaltfläche, Endnachricht) sind je Sprache übersetzbar. Im Multistore lässt sich jede Kampagne auf bestimmte Shops beschränken, und die spezifischen Preise werden pro Shop erstellt. Eine einzelne Kampagne kann so einen bestimmten Shop ansprechen, ohne die anderen zu beeinflussen.

## FAQ und Fehlerbehebung

### Der Rabatt wird nicht angewendet

Prüfen Sie, ob die Kampagne **aktiv** ist, ob das heutige Datum zwischen Start- und Enddatum liegt und ob sie den aktuellen Shop betrifft. Stellen Sie bei einer Kategorieausrichtung sicher, dass Sie die Kampagne nach jeder Umstrukturierung des Baums erneut gespeichert haben.

### Der Banner überdeckt mein Menü oder meinen Inhalt

Aktivieren Sie die Option **Seiteninhalt verschieben (Push Body)** in den allgemeinen Einstellungen. Wenn ein Theme-Element über dem Banner erscheint, erhöhen Sie den Wert des **Z-Index**.

### Der Countdown zeigt eine inkonsistente Zeit

Stellen Sie sicher, dass die Zeit Ihres Servers korrekt und die Serversynchronisation aktiv ist. Der Timer richtet sich nach der Serverzeit, unabhängig von der Uhr des Besuchers.

### Mehrere Kampagnen betreffen dasselbe Produkt

Die Anzeige behält die Kampagne mit der höchsten **Priorität**. Für den Rabatt gilt die Prioritätslogik der spezifischen Preise von PrestaShop.

### Das Badge erscheint nicht auf den Fotos

Prüfen Sie zuerst, ob die Option **Badge auf den Produktbildern** in der Kampagne aktiviert und das Startdatum bereits erreicht ist. Fehlt das Badge auch nach dem Leeren des Caches, öffnen Sie die Konfigurationsseite des Moduls oder den Tab **Katalog > Flash-Sales**: Das Modul prüft dann seine Hooks und registriert die fehlenden neu. Dieser Fall tritt nach einer Aktualisierung durch bloßes Ersetzen der Dateien auf, bei der das Upgrade-Skript nicht ausgeführt wird.

### Was passiert bei der Deinstallation?

Die Deinstallation entfernt über die Zuordnungstabelle alle vom Modul erstellten spezifischen Preise, löscht seine Hooks und seinen Tab und bereinigt seine Tabellen. Ihre ursprünglichen Preise werden vollständig wiederhergestellt.
