# Warenkorb-Button in PrestaShop Produktlisten ersetzen: Installation und Einrichtung

> Überblick Das Modul ersetzt den Button In den Warenkorb in Produktminiaturen (Kategorieseiten, Suche, Startseite, Karussells, Zubehörprodukte) durch einen Button, der zur Produktseite führt. Dort wählt der Kunde Gewicht, Größe oder…

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

## Überblick

Das Modul ersetzt den Button **In den Warenkorb** in Produktminiaturen (Kategorieseiten, Suche, Startseite, Karussells, Zubehörprodukte) durch einen Button, der zur Produktseite führt. Dort wählt der Kunde Gewicht, Größe oder Format, bevor er in den Warenkorb legt. Sie legen Regeln fest: welche Produkte betroffen sind, welchen Text der Button zeigt und ob der niedrigste Variantenpreis mit „Ab“ angezeigt wird.

## Installation

1. Klicken Sie unter **Module > Modulverwaltung** auf **Modul hochladen** und laden Sie die Datei `dflistingbutton-1.0.0.zip` hoch.
2. Das Modul legt die Tabellen `ps_dflb_rule`, `ps_dflb_rule_lang`, `ps_dflb_rule_shop`, `ps_dflb_rule_category` und `ps_dflb_rule_product` an und fügt das Menü **Katalog > Buttons in Produktlisten** hinzu.
3. Eine deaktivierte Beispielregel „Beispiel: alle Produkte mit Varianten“ wird angelegt. Sie können sie unverändert aktivieren oder löschen.
4. Öffnen Sie nach dem Anlegen oder Aktivieren einer Regel eine Kategorieseite des Shops. Erscheint der Button nicht, leeren Sie den Cache unter **Erweiterte Einstellungen > Leistung**.

## Regel anlegen

Klicken Sie unter **Katalog > Buttons in Produktlisten** auf **Regel hinzufügen**. Das Formular hat drei Bereiche.

### Regel und Zielauswahl

- **Name der Regel**: interner Name, für Kunden nicht sichtbar.
- **Aktiv**: Eine deaktivierte Regel wird ignoriert.
- **Priorität**: Wenn mehrere Regeln auf ein Produkt passen, gilt die mit der niedrigsten Zahl. Standardwert: 10.
- **Gilt für**: _Alle Produkte_, _Kategorien_ oder _Bestimmte Produkte_.
- **Kategorien**: Baum mit Kontrollkästchen und Filterfeld. Für diesen Regeltyp ist mindestens eine Kategorie Pflicht.
- **Unterkategorien einbeziehen**: Produkte aller Unterkategorien der gewählten Kategorien sind ebenfalls betroffen.
- **Kategorie-Abgleich**: _Produkt ist in einer der Kategorien_ (alle dem Produkt zugeordneten Kategorien zählen) oder _Nur Standardkategorie des Produkts_.
- **Produkte**: für den Typ _Bestimmte Produkte_, Suche nach Name, Artikelnummer oder ID.
- **Bedingung**: _Keine Bedingung_, _Produkte mit Varianten_ oder _Produkte mit einer Attributgruppe_. Mit _Produkte mit Varianten_ behalten einfache Produkte derselben Kategorie ihren Warenkorb-Button.
- **Attributgruppe**: für die letzte Bedingung, zum Beispiel Gewicht oder Größe. Nur Produkte mit einer Variante aus dieser Gruppe sind betroffen.
- **Ausgeschlossene Produkte**: Diese Produkte erhalten den Button dieser Regel nie, unabhängig von der Zielauswahl.
- **Shop-Zuordnung**: Wählen Sie im Multishop die Shops, in denen die Regel gilt.

### Button

- **Button-Text**: ein Text je Sprache, zum Beispiel „Alle Gewichte ansehen“. Eine leere Sprache übernimmt den zuerst eingegebenen Text.
- **Stil**: _Primärer Theme-Button_ (Klassen `btn btn-primary`), _Theme-Button mit Rahmen_ (`btn btn-outline-primary`) oder _Eigene Farben_ mit Hintergrund- und Textfarbe und Vorschau.
- **Symbol**: Pfeil, Optionen, Waage, Auge oder keins.
- **Volle Breite**: Der Button nimmt die ganze Breite der Miniatur ein.
- **Zusätzliche CSS-Klassen**: werden dem Button hinzugefügt, nützlich um eine Klasse Ihres Themes zu übernehmen.
- **Mengenauswahl ausblenden**: blendet das Mengenfeld aus, das manche Themes in Produktlisten zeigen.

### Preis in Produktlisten

Dieser Bereich betrifft nur Produkte mit mindestens zwei Varianten.

- **Niedrigsten Variantenpreis anzeigen**: PrestaShop berechnet den Preis jeder Variante (Steuern, Kundengruppe, Sonderpreise und Rabatte inklusive). Weicht der niedrigste vom Preis des Themes ab, ersetzt er ihn, und der durchgestrichene alte Preis sowie das Rabattetikett der Miniatur werden ausgeblendet.
- **Präfix „Ab“ hinzufügen**: erscheint vor dem Preis nur, wenn sich die Variantenpreise unterscheiden und der angezeigte Preis der niedrigste ist. Wenn Sie die vorige Option deaktivieren und die Standardvariante nicht die günstigste ist, wird das Präfix nicht angezeigt, damit kein falscher Preis angekündigt wird.
- **Präfix-Text**: ein Text je Sprache („Ab“, „From“, „Desde“ usw.).

## Beispiel: Käse und Wurst nach Gewicht

1. Name: _Käse nach Gewicht_. Gilt für: _Kategorien_. Wählen Sie _Käse und Wurst_ und lassen Sie _Unterkategorien einbeziehen_ aktiv.
2. Bedingung: _Produkte mit einer Attributgruppe_, Gruppe _Gewicht_.
3. Button-Text: „Alle Gewichte ansehen“ auf Deutsch, „Ver todas las opciones de peso“ auf Spanisch.
4. Lassen Sie _Niedrigsten Variantenpreis anzeigen_ und _Ab_ aktiv und speichern Sie.

In der Kategorie zeigt jeder Käse in 250 g, 500 g und 1 kg „Ab“ mit dem Preis für 250 g und den Button zu seiner Produktseite. Ein Produkt, das stückweise ohne Gewichtsvariante verkauft wird, behält seinen Warenkorb-Button.

## Allgemeine Einstellungen

Die Konfigurationsseite des Moduls (Button **Einstellungen** über der Regelliste) enthält:

- **Modul aktivieren**: schaltet alle Regeln aus, ohne sie zu löschen.
- **Theme-Erkennung**: _Automatisch_ (empfohlen), _Immer die AJAX-Abfrage verwenden_ oder _Nur Hooks_. Siehe nächster Abschnitt.
- **Auch den nativen Warenkorb-Link deaktivieren**: leert serverseitig die Warenkorb-URL der betroffenen Produkte über den Hook `actionPresentProductListing`. Manche Themes zeigen dann einen eigenen Link „Produkt ansehen“: Wenn Sie zwei Buttons erhalten, lassen Sie diese Option aus.
- **Schnellansicht-Button ausblenden**: nur bei betroffenen Produkten.
- **Ausverkaufte Varianten beim niedrigsten Preis ignorieren**: gilt, wenn die Lagerverwaltung aktiv ist und das Produkt Bestellungen ohne Bestand ablehnt. Sind alle Varianten ausverkauft, werden alle berücksichtigt.

## Theme-Kompatibilität

### Wie das Modul die Produkte erkennt

Beim Rendern einer Miniatur läuft das Modul in den Hooks `displayProductPriceBlock` und `displayProductListReviews`, die das Theme Classic, Hummingbird und die meisten Themes aufrufen. Für jedes betroffene Produkt gibt es eine unsichtbare Markierung aus. Das Skript des Moduls findet die Miniatur mit der Markierung, blendet den Warenkorb-Button, das umgebende Warenkorb-Formular und die Mengenauswahl aus und fügt den neuen Button an der Stelle des ausgeblendeten Buttons ein.

Zeigt das Theme in Produktlisten keinen Warenkorb-Button (wie das Theme Classic), wird der Button direkt nach dem Preisblock eingefügt.

Im Modus _Automatisch_ sendet das Skript, wenn keine Miniatur der Seite diese Hooks ausgelöst hat, die IDs der sichtbaren Produkte an den Controller des Moduls, der die betroffenen zurückgibt (höchstens 60 Produkte pro Abfrage, nur aktive und sichtbare Produkte). Miniaturen, die nach einem Facettenfilter, einer Sortierung oder einem Endlos-Scroll hinzukommen, werden automatisch verarbeitet.

### CSS-Selektoren

Der Bereich **Theme-Kompatibilität (CSS-Selektoren)** der Konfiguration enthält die Selektoren des Skripts:

- **Container der Produktminiatur**: Block, der ein Produkt umschließt (`.product-miniature`, `.ajax_block_product` usw.).
- **Warenkorb-Button**: ersetzte Elemente (`.add-to-cart`, `[data-button-action="add-to-cart"]` usw.).
- **Mengenauswahl**, **Preis**, **Alter Preis und Rabatt**, **Einfügepunkt**, **Schnellansicht-Button**.

Ergänzen Sie die Klassen Ihres Themes in der Liste, durch Kommas getrennt. Der Button **Standard-Selektoren wiederherstellen** stellt die ursprünglichen Werte wieder her.

### Stil anpassen

Der Button hat die Klasse `.dflb-btn`, dazu `.dflb-full` bei voller Breite und `.dflb-style-custom` bei eigenen Farben (Variablen `--dflb-bg` und `--dflb-color`). Das Preispräfix hat die Klasse `.dflb-from`, die verarbeitete Miniatur erhält `.dflb-has-btn`.

Testen Sie bei einem stark angepassten Theme auf einer Kopie des Shops: Kategorieseite, Suche, Startseite und Facettenfilter.

## Was das Modul nicht ändert

- das Hauptprodukt der Produktseite und seine Schnellansicht;
- den Warenkorb, den Bestellprozess und das Kundenkonto;
- Kern- und Theme-Dateien (kein Override, kein geändertes Template).

## Bekannte Einschränkungen

- Das Modul ändert die Darstellung der Produktlisten. Es blockiert kein Hinzufügen zum Warenkorb auf anderem Weg (direkter Link, Drittmodul).
- Der niedrigste Preis und das Präfix werden im Browser angewendet. Das ursprüngliche HTML und die strukturierten Daten des Themes behalten den Preis der Standardvariante.
- Bei mehr als 150 Varianten eines Produkts werden nur die ersten 150 für den niedrigsten Preis berücksichtigt.
