StartseiteDokumentationPreise ausblenden

    Preise ausblenden

    Preise nur für registrierte oder freigeschaltete Kunden

    Überblick

    Das Plugin steuert die Sichtbarkeit von Preisen im Storefront nach Login-Status, Kundengruppe und Shopbereich. Nicht eingeloggte Besucher oder bestimmte Kundengruppen sehen anstelle der Preise einen konfigurierbaren Hinweistext mit Login-Link.

    Die Steuerung erfolgt serverseitig über einen Subscriber auf das StorefrontRenderEvent, sodass Preise nicht nur visuell versteckt, sondern tatsächlich nicht an den Client ausgeliefert werden. Das Plugin verwendet keine eigenen Entities und benötigt keine Datenbank-Migrationen.

    Systemvoraussetzungen

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

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

    Konfiguration

    Die Plugin-Konfiguration befindet sich unter Erweiterungen > Meine Erweiterungen > BC Preise ausblenden > Konfiguration (config.xml).

    Allgemein:

  9. **Plugin aktiv** (`BcHidePrices.config.active`, Typ: `bool`, Standard: `true`): Globaler Schalter -- wenn deaktiviert, greift keine der folgenden Einstellungen.
  10. **Preise für Gäste ausblenden** (`BcHidePrices.config.hideForGuests`, Typ: `bool`, Standard: `true`): Blendet Preise für nicht eingeloggte Besucher aus.
  11. **"In den Warenkorb"-Button ausblenden** (`BcHidePrices.config.hideAddToCart`, Typ: `bool`, Standard: `true`): Blendet den Warenkorb-Button auf allen Seiten aus, wenn der Kunde keine Preise sehen darf.
  12. Bereiche:

  13. **Preise in Produktlisten ausblenden** (`BcHidePrices.config.hidePricesListing`, Typ: `bool`, Standard: `true`): Betrifft Kategorie-Seiten, CMS-Listings und alle weiteren Produktlisten.
  14. **Preise auf Produktdetailseite ausblenden** (`BcHidePrices.config.hidePricesDetail`, Typ: `bool`, Standard: `true`): Blendet den Preis und den Steuerhinweis auf der Produktdetailseite aus.
  15. **Preise in Suchergebnissen ausblenden** (`BcHidePrices.config.hidePricesSearch`, Typ: `bool`, Standard: `true`): Betrifft die Live-Suche im Header (Suggest-Dropdown).
  16. Kundengruppen:

  17. **Preise für diese Kundengruppen ausblenden** (`BcHidePrices.config.customerGroupsHide`, Typ: `sw-entity-multi-id-select`, Entity: `customer_group`): Zusätzlich zu Gästen können hier eingeloggte Kundengruppen gewählt werden, für die Preise ausgeblendet werden.
  18. Ausnahmen:

  19. **Kategorien ausnehmen** (`BcHidePrices.config.excludedCategories`, Typ: `sw-entity-multi-id-select`, Entity: `category`): In diesen Kategorien werden Preise immer angezeigt.
  20. **Produkte ausnehmen** (`BcHidePrices.config.excludedProducts`, Typ: `sw-entity-multi-id-select`, Entity: `product`): Bei diesen Produkten werden Preise immer angezeigt.
  21. Funktionen

    Serverseitige Preisausblendung

    Der StorefrontSubscriber reagiert auf das StorefrontRenderEvent und stellt Template-Variablen bereit, die die Sichtbarkeit steuern. Die Prüfung erfolgt in drei Stufen: 1) Gast-Status, 2) Kundengruppen-Zugehörigkeit, 3) Kategorie- und Produktausnahmen.

    Template-Variablen (im Twig verfügbar):

  22. `bcHidePricesHideForUser` (bool) -- Hauptschalter für den aktuellen Benutzer
  23. `bcHidePricesHideAddToCart` (bool) -- Warenkorb-Button ausblenden
  24. `bcHidePricesHideListing` (bool) -- In Produktlisten ausblenden
  25. `bcHidePricesHideDetail` (bool) -- Auf Detailseite ausblenden
  26. `bcHidePricesHideSearch` (bool) -- In Suchergebnissen ausblenden
  27. `bcHidePricesExcludedCategories` (array) -- IDs ausgenommener Kategorien
  28. `bcHidePricesExcludedProducts` (array) -- IDs ausgenommener Produkte
  29. Kundengruppen-basierte Steuerung

    Die Sichtbarkeit wird pro Kundengruppe konfiguriert. So lassen sich mehrstufige Vertriebsmodelle abbilden.

    Kategorie- und Produktausnahmen

    Optional können bestimmte Kategorien oder Produkte von der Ausblendung ausgenommen werden.

    Events & Hooks

    Das Plugin verwendet keine eigenen Event-Klassen. Es reagiert auf folgendes Shopware-Event:

  30. **`StorefrontRenderEvent`** (`Shopware\Storefront\Event\StorefrontRenderEvent`) -- Der `StorefrontSubscriber` lauscht auf dieses Event und setzt die Template-Variablen für die Preisausblendung.
  31. Textbausteine (Snippets)

    Storefront-Snippets (src/Resources/snippet/de_DE/bc.hidePrices.de-DE.json):

  32. `bc-hide-prices.loginHint` -- Hinweistext mit Login-Link: "Preise sind nur für angemeldete Kunden sichtbar. <a href="%url%">Jetzt anmelden</a>"
  33. `bc-hide-prices.loginHintShort` -- Kurzform: "Bitte anmelden für Preise"
  34. Verfügbar in DE und EN (src/Resources/snippet/en_GB/bc.hidePrices.en-GB.json).

    Datenbank-Tabellen

    Das Plugin erstellt keine eigenen Datenbank-Tabellen. Die Steuerung erfolgt vollständig über die Plugin-Konfiguration (SystemConfig) und serverseitige Logik im Subscriber.

    Admin-Integration

    Das Plugin erweitert die Plugin-Konfiguration im Admin. Es gibt kein separates Admin-Modul. Alle Einstellungen erfolgen über die Standard-Plugin-Konfiguration unter Erweiterungen > Meine Erweiterungen.

    Storefront-Integration

    Das Plugin modifiziert folgende Storefront-Bereiche über Twig-Template-Overrides:

    Templates (src/Resources/views/storefront/):

  35. `component/product/card/box-standard.html.twig` -- Produktbox in Listings
  36. `component/product/card/price-unit.html.twig` -- Preisanzeige in Produktkarten
  37. `component/buy-widget/buy-widget.html.twig` -- Kauf-Widget mit Preis und Warenkorb-Button
  38. `layout/header/search-suggest.html.twig` -- Such-Suggest im Header
  39. `component/bc-hide-prices/login-hint.html.twig` -- Wiederverwendbarer Login-Hinweis-Baustein
  40. Alle Templates prüfen die Variable bcHidePricesHideForUser und ersetzen Preise durch den Snippet-Text.

    Kompatibilität

  41. Kompatibel mit dem Plugin **B2B Plattform** (Firmenkonten-basierte Sichtbarkeit)
  42. Kompatibel mit allen anderen Plugins der Bronner B2B Suite
  43. Kompatibel mit Standard-Shopware-Themes
  44. Getestet mit Shopware 6.7.x
  45. Unterstützt Multi-Sales-Channel
  46. FAQ