StartseiteDokumentationPreis auf Anfrage

    Preis auf Anfrage

    Professionelle Preisanfragen bei Artikeln ohne öffentlichen Preis

    Überblick

    Das Plugin Preis auf Anfrage (BronnPriceRequest) ersetzt den regulären Preis und Warenkorb-Button bei ausgewählten Produkten durch einen 'Preis auf Anfrage'-Button. Kunden koennen direkt aus der Produktdetailseite oder dem Listing heraus eine Preisanfrage stellen.

    Das Plugin unterstützt Gastanfragen (ohne Login), automatische E-Mail-Benachrichtigung über den Shopware Flow Builder sowie die Auswahl der betroffenen Produkte über Dynamische Produktgruppen (Product Streams).

    Aktuelle Version: 1.4.1

    Systemvoraussetzungen

  1. Shopware 6.7 oder höher
  2. PHP 8.1 oder höher
  3. Installation

  4. 1.Plugin über den Shopware Plugin-Manager installieren oder manuell in custom/plugins/BronnPriceRequest ablegen
  5. 2.Plugin im Plugin-Manager aktivieren
  6. 3.Cache leeren:
  7. php bin/console cache:clear

    Bei der Installation bzw. beim Update werden automatisch ein Mail-Template und ein Flow für das Event bronn_price_request.created angelegt. Der Flow versendet bei jeder neuen Preisanfrage eine E-Mail an den Shop-Betreiber.

    Konfiguration

    Die Plugin-Konfiguration befindet sich unter Erweiterungen > Meine Erweiterungen > Bronn Preis auf Anfrage > Konfiguration.

    Einstellungen:

  8. **Plugin aktiv** (`BronnPriceRequest.config.active`, Typ: `bool`, Standard: `true`): Aktiviert oder deaktiviert die 'Preis auf Anfrage'-Funktionalität global.
  9. **Logo-URL** (`BronnPriceRequest.config.logoUrl`, Typ: `text`): URL zu einem Logo, das im Mail-Template für Preisanfragen verwendet wird. Leer = kein Logo.
  10. **Gastanfragen erlauben** (`BronnPriceRequest.config.allowGuestRequests`, Typ: `bool`, Standard: `false`): Wenn aktiviert, können auch nicht eingeloggte Besucher eine Preisanfrage stellen. Es erscheint ein Modal zur Eingabe von Name, E-Mail und Firma.
  11. **Dynamische Produktgruppe verwenden** (`BronnPriceRequest.config.useProductStream`, Typ: `bool`, Standard: `false`): Wenn aktiviert, werden die betroffenen Produkte nicht einzeln, sondern über eine Dynamische Produktgruppe (Product Stream) gesteuert.
  12. **Dynamische Produktgruppe** (`BronnPriceRequest.config.productStreamId`, Typ: `entity select` auf `product_stream`): Auswahl der Produktgruppe, deren Produkte den 'Preis auf Anfrage'-Button erhalten. Nur sichtbar/relevant, wenn `useProductStream` aktiviert ist.
  13. Funktionen

    Detailseite: Preisanfrage-Karte

    Auf der Produktdetailseite wird das Buy-Widget durch eine Anfrage-Karte ersetzt. Diese enthält einen Hinweistext und einen Button, über den der Kunde eine Preisanfrage absenden kann.

    Listing: Preisanzeige und Aktion

    In Produkt-Listings wird der Preis ausgeblendet und der 'In den Warenkorb'-Button durch einen 'Preis auf Anfrage'-Button ersetzt.

    Gast-Modal

    Wenn Gastanfragen erlaubt sind (allowGuestRequests), erscheint für nicht eingeloggte Besucher ein Modal-Dialog. Dort werden Name, E-Mail-Adresse und optional die Firma abgefragt.

    Preis- und Steuerausblendung

    Für betroffene Produkte werden Preise, Steuerhinweise und Staffelpreise vollständig ausgeblendet – sowohl auf der Detailseite als auch im Listing.

    Flow Builder Event

    Bei jeder Preisanfrage wird das Event bronn_price_request.created ausgelöst. Dieses kann im Shopware Flow Builder für automatische E-Mail-Benachrichtigungen, Webhooks oder eigene Aktionen verwendet werden.

    Events & Hooks

    Das Plugin löst folgendes Flow-Builder-fähiges Event aus:

  14. **`bronn_price_request.created`** (`Bronn\BronnPriceRequest\Core\Event\PriceRequestEvent`) -- Eine neue Preisanfrage wurde gestellt
  15. Das Event implementiert:

  16. `FlowEventAware` -- Integration in den Flow Builder
  17. `MailAware` -- Ermöglicht Mail-Versand als Flow-Aktion
  18. `ScalarValuesAware` -- Stellt Daten als Platzhalter bereit
  19. Verfügbare Daten im Event:

  20. `productName` -- Name des angefragten Produkts
  21. `productNumber` -- Artikelnummer des Produkts
  22. `customerName` -- Name des Anfragenden
  23. `customerEmail` -- E-Mail-Adresse des Anfragenden
  24. `customerCompany` -- Firmenname (optional, bei Gastanfragen)
  25. Flow Builder Events

    Das Plugin-Event ist im Shopware Flow Builder verfügbar:

    | Event-Name | Klasse | Beschreibung |

    |---|---|---|

    | bronn_price_request.created | PriceRequestEvent | Trigger bei neuer Preisanfrage |

    Das Event kann mit Mail-Aktionen, Webhooks oder eigenen Flow-Actions kombiniert werden. Bei der Installation wird automatisch ein Flow mit Mail-Versand angelegt.

    Textbausteine (Snippets)

    Das Plugin registriert Storefront-Snippets unter dem Namespace bronn-price-request in DE und EN:

    Anfrage-Karte (Detailseite):

  26. `bronn-price-request.heading` -- Überschrift der Anfrage-Karte
  27. `bronn-price-request.textLine1` -- Erste Textzeile (Hinweistext)
  28. `bronn-price-request.textLine2` -- Zweite Textzeile (zusätzlicher Hinweis)
  29. `bronn-price-request.buttonText` -- Text des Anfrage-Buttons
  30. Feedback-Meldungen:

  31. `bronn-price-request.successMessage` -- Erfolgsmeldung nach Absenden der Anfrage
  32. `bronn-price-request.errorMessage` -- Fehlermeldung bei technischem Problem
  33. `bronn-price-request.loginRequired` -- Hinweis, dass Login erforderlich ist (wenn Gastanfragen deaktiviert)
  34. Gast-Modal:

  35. `bronn-price-request.guestModalTitle` -- Titel des Gast-Modals
  36. `bronn-price-request.guestModalText` -- Beschreibungstext im Modal
  37. `bronn-price-request.guestName` -- Label für Namensfeld
  38. `bronn-price-request.guestEmail` -- Label für E-Mail-Feld
  39. `bronn-price-request.guestCompany` -- Label für Firmenfeld
  40. `bronn-price-request.guestSubmit` -- Text des Absende-Buttons im Modal
  41. `bronn-price-request.guestRequiredHint` -- Hinweis auf Pflichtfelder
  42. `bronn-price-request.guestValidationError` -- Validierungsfehlermeldung
  43. `bronn-price-request.guestClose` -- Text des Schließen-Buttons
  44. Platzhalter (für Mail-Templates):

    Im Mail-Template stehen folgende Platzhalter zur Verfügung: {{ productName }}, {{ productNumber }}, {{ customerName }}, {{ customerEmail }}, {{ customerCompany }}

    Storefront-Integration

    Das Plugin ueberschreibt folgende Storefront-Templates:

  45. **`component/buy-widget/buy-widget.html.twig`** -- Ersetzt das Kauf-Widget auf der Detailseite durch die Preisanfrage-Karte
  46. **`component/product/card/price-unit.html.twig`** -- Blendet den Preis im Listing aus
  47. **`component/product/card/action.html.twig`** -- Ersetzt den Warenkorb-Button im Listing durch den Anfrage-Button
  48. **`component/product/card/box-standard.html.twig`** -- Anpassungen an der Standard-Produktkarte
  49. Die Template-Variablen werden ueber den StorefrontSubscriber gesetzt. Dieser prueft fuer jedes Produkt, ob 'Preis auf Anfrage' aktiv ist (basierend auf Custom Field oder Product Stream) und stellt die Konfigurationswerte bereit.

    Storefront-Routen:

    | Route | Methode | Beschreibung |

    |---|---|---|

    | /bronn-price-request/send | POST | Preisanfrage absenden (eingeloggte Kunden) |

    | /bronn-price-request/guest-send | POST | Preisanfrage absenden (Gaeste, mit Name/E-Mail/Firma im Modal) |

    Kompatibilität

  50. BronnHidePrices: Funktioniert parallel. BronnPriceRequest hat Vorrang bei Produkten, die für 'Preis auf Anfrage' markiert sind.
  51. BronnOfferRequest: Beide Plugins können gleichzeitig aktiv sein. Produkte können entweder eine Preisanfrage oder eine Angebotsanfrage anbieten.
  52. BronnB2bPlatform: Vollständig kompatibel. Preisanfragen funktionieren auch für B2B-Mitarbeiter mit eingeschränkten Rechten.
  53. Getestet mit Shopware 6.7.x
  54. Unterstützt Multi-Language (DE/EN)
  55. FAQ