Hide Price Pro - Preise ausblenden für Gäste, Länder oder Produkte: Anmelden, um Preise zu sehen, für B2B und Großhandel
Blenden Sie Preise vor denen aus, die sie nicht sehen sollen, und zeigen Sie stattdessen eine Anmeldeaufforderung oder Ihren eigenen Text. Sie wählen eine Regel — nicht angemeldete Besucher, ausgewählte Länder oder ausgewählte Produkte — und der Preis wird serverseitig entfernt, bevor die Seite überhaupt aufgebaut wird. Er landet also gar nicht erst im HTML. Auf Listenseiten verschwindet der Warenkorb-Button gleich mit, und eingeschränkte Produkte werden serverseitig aus dem Warenkorb geworfen — ein selbst gebastelter Warenkorb-Link führt zu nichts. Keine Core-Datei, kein Theme-Template, kein Override wird angefasst. Gemacht für B2B, Großhandel und Verkauf auf Angebotsbasis. Für PrestaShop 1.7 – 9.
Für Shops, in denen der Preis nicht für jeden bestimmt ist
Großhandelspreise, die Ihre Wettbewerber nicht mitlesen sollen. Ein Sortiment, das Sie in manche Länder verkaufen und in andere nicht. Artikel, die kalkuliert statt ausgepreist werden. In allen drei Fällen lautet die Antwort gleich: Produkt zeigen, Zahl verbergen und dem Besucher einen Grund geben, sich anzumelden oder Kontakt aufzunehmen.
Eine Regel, bewusst gewählt
Die Konfigurationsseite bietet genau eine Entscheidung statt eines Haufens von Schaltern, die sich gegenseitig widersprechen können:
- Niemand – das Modul ist pausiert — es wird nichts ausgeblendet.
- Nicht angemeldete Besucher (alle Produkte) — Gäste sehen im gesamten Katalog keine Preise.
- Besucher aus den unten ausgewählten Ländern (alle Produkte) — alle anderen behalten den Preis.
- Alle, aber nur bei den Produkten, die auf der Produktseite im Tab Module markiert sind — ausgeblendet genau dort, wo Sie es markieren, und sonst nirgends.
Frühere Versionen hatten drei unabhängige Schalter, und das Speichern einer ungültigen Kombination schlug schlicht fehl. Weil es jetzt eine einzige, sich gegenseitig ausschließende Auswahl ist, lässt sich eine unmögliche Konfiguration gar nicht erst anlegen — und dank der Option Niemand müssen Sie das Modul zum Pausieren nie deinstallieren. Öffnen Sie den Tab Module eines Produkts, während eine andere Regel aktiv ist, sagt Ihnen das Modul unmissverständlich, dass seine Optionen pro Produkt gerade keine Wirkung haben — statt Sie etwas einstellen zu lassen, das stillschweigend ins Leere läuft.
Der Preis ist weg, bevor die Seite existiert
Das ist der entscheidende Punkt. Ab PrestaShop 1.7.5 klinkt sich das Modul in actionPresentProduct und actionPresentProductListing ein und schreibt das Produkt serverseitig um: show_price aus, Preis-Strings geleert, Warenkorb-URL entfernt. Der Preis erreicht das HTML nie, er liegt also auch nicht im Seitenquelltext und wartet darauf, gefunden zu werden.
Ausgeblendet wird überall, wo ein Preis auftaucht: Kategorieseiten, Suchergebnisse, Startseiten-Widgets — hervorgehobene Produkte, Bestseller, neue Artikel, Angebote —, Schnellansicht und die Produktseite selbst. Auf Listenseiten verschwindet der Warenkorb-Button gleich mit. Eine schlanke JavaScript-Ebene kümmert sich um Listen-Miniaturansichten und entfernt vorsorglich Preis-Markup, das ein ungewöhnliches Theme womöglich trotzdem ausgibt — sie ist aber die zweite Verteidigungslinie, nicht der eigentliche Mechanismus.
Es lässt sich nicht umkaufen
Ein ausgeblendeter Preis nützt wenig, wenn jemand das Produkt trotzdem in den Warenkorb schieben kann. Bei jedem Speichern des Warenkorbs und erneut auf der Warenkorb- und der Kassenseite werden eingeschränkte Produkte serverseitig entfernt — ein selbst gebastelter Warenkorb-Link bringt also nichts.
Lässt sich das Land eines Besuchers nicht bestimmen, gilt er als eingeschränkt. Die Regel scheitert zur sicheren Seite hin: Sie gibt niemals einen Preis preis, nur weil die Geolokalisierung unklar war.
Schnellansicht-Pop-ups werden abgedeckt, ohne sie anzufassen
Schnellansicht-Module rendern Preise über eigene AJAX-Controller — genau dort läuft diese Art von Maskierung üblicherweise aus. Diese Anfragen werden beim Dispatch abgefangen und die Preisanzeige des Moduls wird im Arbeitsspeicher und nur für diese eine Anfrage deaktiviert; Dateien und Datenbankeinstellungen des Fremdmoduls bleiben unangetastet. Ein MutationObserver säubert eingefügte Pop-ups und platziert Ihren Ersatztext darin, und die Systemprüfung listet auf, welche Schnellansicht-Module sie in Ihrem Shop erkannt hat.
Was der Besucher stattdessen sieht
Bei der Gäste- und der Länderregel: eine mehrsprachige Nachricht, die Sie selbst schreiben, wahlweise mit einer automatischen Schaltfläche Anmelden, die den Besucher nach dem Login zurück zu dem Produkt führt, das er sich angesehen hat.
Bei der Produktregel: ein Feld Inhalt, der anstelle des Preises angezeigt wird pro Produkt und pro Sprache, in dem HTML erlaubt ist — "Angebot anfordern", eine Telefonnummer, ein Kontaktlink, was immer passt — oder eben gar nichts, wenn Sie es leer lassen.
Eine Systemprüfung, die Fragen beantwortet, bevor Sie sie stellen
Auf der Konfigurationsseite sitzt eine Systemprüfung, die schweigt, solange alles in Ordnung ist, und sich meldet, wenn es das nicht ist. In einem gesunden Shop bestätigt sie schlicht die aktive Regel, wie viele Produkte markiert sind, welche Schnellansicht-Module abgedeckt sind und dass keine Dateien aus alten Modulversionen herumliegen.
Alles Weitere erscheint nur dann, wenn es zutrifft: eine Warnung, wenn die Länderregel aktiv, aber die PrestaShop-Geolokalisierung deaktiviert ist — mit Direktlink zum Einschalten, denn ohne sie kann die Regel Besucher nicht unterscheiden; ein Hinweis, wenn der Katalogmodus ohnehin schon jeden Preis shopweit ausblendet und damit die Wirkung des Moduls überdeckt; ein Hinweis, wenn Ihr PrestaShop älter als 1.7.5 ist; und eine Schaltfläche Jetzt reparieren, wenn Überreste aus Version 1.x erkannt werden. Sie müssen sich nicht durch eine Wand grüner Haken lesen, um die eine Sache zu finden, auf die es ankommt.
Version 2 hat ein Sicherheitsrisiko und viel Core-Chirurgie beseitigt
Version 1.x installierte sich, indem sie Core-Dateien ersetzte — eine Kopie von ProductListingFrontController je PrestaShop-Version, dazu Templates des Classic-Themes und Klassen-Overrides von ps_featuredproducts, ps_bestsellers, ps_newproducts, ps_specials und ProductController. Jedes PrestaShop-Update war damit ein Risiko für eine weiße Seite.
Version 2.0 ist eine vollständige Neuentwicklung, die ausschließlich mit Hooks arbeitet. Keine Core-Datei, kein Theme-Template, kein Override. PrestaShop-Updates können das Modul nicht zerstören, weil nichts davon in PrestaShop steckt, das zerbrechen könnte.
Entfernt wurden außerdem die CSV-Massenimport- und -exportmasken, die als eigenständige Skripte völlig ohne Authentifizierung liefen — ein echtes Sicherheitsloch, kein theoretisches. Wenn Sie Produkte in Massen markieren möchten, ist eine abgesicherte Variante als Admin-Controller geplant.
Das Update von 1.x räumt hinter der alten Version auf
Ordner ersetzen und die Seite Konfigurieren des Moduls öffnen — es erkennt das ausstehende Update und migriert sich an Ort und Stelle, samt Ihrer Länderliste und Ihrer Texte pro Produkt. Es überführt die drei alten Schalter in die eine Regel, stellt den Core-Controller und die Theme-Templates wieder her, die 1.x ersetzt hatte, und zwar aus den Sicherungskopien, die es hinterlassen hat, löscht die übrig gebliebenen Klassen-Overrides, erzeugt den Klassenindex neu und leert den Template-Cache. Alles, was sich nicht automatisch wiederherstellen lässt, führt die Systemprüfung mit einer Schaltfläche Jetzt reparieren auf.
Zwei praktische Hinweise: Verwenden Sie nicht die Schaltfläche Aktualisieren im Modulmanager — sie funktioniert nur für Module aus Addons und meldet bei einem auf der Festplatte aktualisierten Modul "Could not perform action upgrade for module undefined". Der Weg zum Update ist das Öffnen der Seite Konfigurieren. Und benutzen Sie niemals Zurücksetzen, das löscht Ihre Konfiguration.
Kompatibilität
PrestaShop 1.7 bis 9, in acht Sprachen: Deutsch, Englisch, Französisch, Italienisch, Niederländisch, Polnisch, Spanisch und Türkisch. Vollständig serverseitiges Ausblenden ab 1.7.5; unter 1.7.0–1.7.4 existieren die Presenter-Hooks noch nicht, dort greift nur die CSS- und JavaScript-Ebene — die Systemprüfung sagt Ihnen, ob Ihr Shop betroffen ist. Die Daten pro Produkt überstehen Schnellbearbeitungen, Bestandsänderungen und Speichervorgänge über den Webservice, und beim Löschen eines Produkts werden die zugehörigen Zeilen automatisch mit entfernt.
Häufig gestellte Fragen
Kann ein hartnäckiger Besucher den Preis trotzdem im Seitenquelltext finden?
Nein, nicht ab 1.7.5. Der Preis wird serverseitig entfernt, bevor das HTML entsteht — im Quelltext ist also nichts zu finden.
Kann jemand ein ausgeblendetes Produkt über einen Direktlink in den Warenkorb legen?
Nein. Eingeschränkte Produkte werden bei jedem Speichern des Warenkorbs und erneut auf der Warenkorb- und der Kassenseite serverseitig entfernt.
Kann ich Preise nur vor Gästen verbergen und sie Kunden zeigen?
Ja — das ist die Regel Nicht angemeldete Besucher, und Sie können eine Schaltfläche Anmelden einblenden, die den Besucher danach zum Produkt zurückführt.
Was passiert, wenn ich das Land eines Besuchers nicht bestimmen kann?
Er gilt als eingeschränkt. Die Regel scheitert lieber zur sicheren Seite hin, als einen Preis zu riskieren. Beachten Sie: Die Länderregel setzt eine aktivierte PrestaShop-Geolokalisierung voraus; die Systemprüfung warnt Sie und verlinkt direkt auf die Einstellung.
Geht es kaputt, wenn ich PrestaShop aktualisiere?
Nein. Version 2 fasst weder Core-Datei noch Theme-Template noch Override an — sie arbeitet vollständig über Hooks, in PrestaShop steckt also nichts, was ein Update zerstören könnte.
Funktioniert es mit Schnellansicht-Pop-ups?
Ja. Diese AJAX-Anfragen werden abgefangen und die Preisanzeige wird im Arbeitsspeicher nur für diese eine Anfrage deaktiviert; Dateien und Einstellungen des Schnellansicht-Moduls werden nie verändert.
Ich steige von 1.x um — was muss ich aufräumen?
Nichts von Hand. Öffnen Sie die Seite Konfigurieren: Das Modul migriert sich selbst, stellt die von 1.x ersetzten Core-Dateien wieder her und entfernt seine übrig gebliebenen Overrides. Nutzen Sie dafür die Seite Konfigurieren statt der Schaltfläche Aktualisieren im Modulmanager — und niemals Zurücksetzen.
Meine Preise sind überall ausgeblendet, und das hatte ich nicht erwartet. Prüfen Sie, ob PrestaShops eigener Katalogmodus eingeschaltet ist — er blendet unabhängig von diesem Modul jeden Preis shopweit aus. Die Systemprüfung weist darauf hin, wenn es zutrifft. Und wenn Sie das Modul stoppen möchten, ohne es zu deinstallieren, setzen Sie die Regel auf Niemand.
-
KompatibilitätPrestashop 1.7
Prestashop 8
Prestashop 9 -
Verfügbare ModulübersetzungenDeutsch
Englisch
Französisch
Italienisch
Niederländisch
Polnisch
Spanisch
Türkisch
MEG Venture
4 other products in the same category
| Version | 2.0.2 |
|---|---|
| Zuletzt aktualisiert | 2026-07-30 |
| Änderungsprotokoll | - [2026-07-30] Backfill missing translation keys for multiple languages in the Hide Price Pro module - [2026-07-24] Add Polish and Turkish translations for Hide Price Pro module settings and messages - [2026-07-23] Bump version to 2.0.2 and update changelog to document upgrade fix for module stability - [2026-07-23] Translate module strings in Turkish for Hide Price Pro, updating messages related to pricing visibility, settings, and user prompts to enhance clarity for Turkish-speaking users. - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Add missing translation files (fr, de, pl, nl, tr, it, es) - [2026-07-09] fix: Update README and PHP display name for consistency in module title - [2026-07-09] feat: Add Hide Price Pro module with configuration and front-end functionality - [2026-06-21] feat: Add custom price handling to ProductListingFrontController - [2023-10-02] Update customprice.php - [2023-09-17] v1.5.5 - [2023-09-05] v1.5.3 - [2022-09-27] upgrades for the productlistingfront controller - [2022-05-22] v1.5.2 - [2022-02-19] v1.5.2 - [2021-07-22] v1.5.1 - [2021-02-21] Custom price field save fix - [2020-10-19] First release of v1.5.0 - [2020-10-19] Initial commit |
Kommentare (2)
Ihre Bewertung der Rezension kann nicht gesendet werden
Kommentar melden
Meldung gesendet
Ihre Meldung kann nicht gesendet werden