Hide Price Pro - Accedi per vedere il prezzo, nascondi prezzi B2B e ingrosso per ospiti, paesi o prodotti
Nascondi i prezzi a chi non deve vederli e mostra al loro posto un invito ad accedere o un testo tuo. Scegli una sola regola — visitatori non autenticati, paesi selezionati o prodotti selezionati — e il prezzo viene rimosso lato server prima che la pagina venga costruita, quindi non arriva mai nell'HTML. Nelle liste sparisce anche il pulsante aggiungi al carrello, e i prodotti limitati vengono estratti dal carrello lato server: un link di aggiunta al carrello costruito a mano non serve a nulla. Nessun file core, template del tema o override viene toccato. Pensato per B2B, ingrosso e vendita su preventivo. Per PrestaShop 1.7 – 9.
Per i negozi in cui il prezzo non è per tutti
Prezzi all'ingrosso che non vuoi far leggere ai concorrenti. Un catalogo che vendi in alcuni paesi ma non in altri. Prodotti che si quotano invece di listarli. In tutti e tre i casi la risposta è la stessa: mostra il prodotto, nascondi il numero e dai al visitatore un motivo per contattarti o per accedere.
Una sola regola, scelta con criterio
La pagina di configurazione propone esattamente una scelta, non una collezione di interruttori che possono contraddirsi tra loro:
- Nessuno — il modulo è in pausa: non viene nascosto nulla.
- Visitatori non autenticati (tutti i prodotti): gli ospiti perdono il prezzo su tutto il catalogo.
- Visitatori dai paesi selezionati sotto (tutti i prodotti): tutti gli altri lo mantengono.
- Tutti, ma solo sui prodotti contrassegnati nella loro pagina prodotto, scheda Moduli: nascosto sui prodotti che indichi tu, e da nessun'altra parte.
Le versioni precedenti avevano tre interruttori indipendenti e il salvataggio di una combinazione non valida semplicemente falliva. Trasformarli in un'unica scelta esclusiva significa che una configurazione impossibile non può nemmeno essere creata — e l'opzione Nessuno fa sì che mettere in pausa il modulo non richieda mai di disinstallarlo. Se apri la scheda Moduli di un prodotto mentre è attiva un'altra regola, il modulo ti avverte chiaramente che le sue opzioni per prodotto in questo momento non hanno effetto, invece di lasciarti impostare qualcosa che non fa nulla di silenzio.
Il prezzo viene rimosso prima che la pagina esista
È questa la parte che conta. Su PrestaShop 1.7.5 e successivi il modulo si aggancia a actionPresentProduct e actionPresentProductListing e riscrive il prodotto lato server: show_price disattivato, stringhe di prezzo svuotate, URL di aggiunta al carrello rimosso. Il prezzo non arriva mai nell'HTML, quindi non resta nel markup in attesa di essere trovato nel sorgente della pagina.
L'occultamento copre ogni punto in cui compare un prezzo: pagine categoria, risultati di ricerca, widget della homepage — prodotti in evidenza, più venduti, novità, offerte — vista rapida e la pagina prodotto stessa. Nelle pagine di listato sparisce anche il pulsante aggiungi al carrello. Un piccolo livello JavaScript gestisce le miniature dei listati e rimuove in via difensiva il markup di prezzo che un tema fuori standard potrebbe comunque produrre, ma è una seconda linea di difesa, non il meccanismo principale.
Non si può aggirare comprando
Nascondere un prezzo serve a poco se qualcuno può comunque inserire il prodotto nel carrello. A ogni salvataggio del carrello, e di nuovo nelle pagine carrello e checkout, i prodotti limitati vengono rimossi lato server — quindi un link di aggiunta al carrello costruito a mano non porta da nessuna parte.
Se il paese del visitatore non può essere determinato, il visitatore viene trattato come limitato. La regola fallisce in chiusura: non lascia mai trapelare un prezzo perché la geolocalizzazione era incerta.
I popup di vista rapida sono gestiti senza toccarli
I moduli vista rapida mostrano i prezzi attraverso i propri controller AJAX, ed è esattamente lì che questo tipo di mascheramento di solito perde. Quelle richieste vengono intercettate al momento del dispatch e la visualizzazione del prezzo del modulo viene forzata a off in memoria, solo per quella richiesta: i suoi file e le sue impostazioni nel database non vengono mai modificati. Un MutationObserver ripulisce i popup iniettati e vi inserisce il tuo messaggio sostitutivo, mentre il controllo di stato elenca quali moduli vista rapida ha rilevato nel tuo negozio.
Cosa vede il visitatore al posto del prezzo
Per le regole ospiti e paesi: un messaggio multilingua scritto da te, con la possibilità di aggiungere un pulsante Accedi automatico che, dopo il login, riporta il visitatore al prodotto che stava guardando.
Per la regola prodotti: un campo Contenuto mostrato al posto del prezzo per singolo prodotto e per lingua, in cui è consentito l'HTML — "Richiedi un preventivo", un numero di telefono, un link di contatto, quello che preferisci — oppure nulla del tutto, se lo lasci vuoto.
Un controllo di stato che risponde alle domande prima che tu le faccia
La pagina di configurazione include un controllo di stato che resta in silenzio quando va tutto bene e parla quando qualcosa non va. In un negozio sano si limita a confermare la regola attiva, quanti sono i prodotti contrassegnati, quali moduli vista rapida sono coperti e che non ci sono file da vecchie versioni del modulo in giro.
Il resto compare solo quando serve: un avviso se la regola per paese è attiva ma la geolocalizzazione di PrestaShop è disattivata — con un link diretto per attivarla, perché senza di essa la regola non può distinguere i visitatori; una nota se la modalità catalogo sta già nascondendo tutti i prezzi in tutto il negozio, mascherando l'effetto del modulo; una nota se il tuo PrestaShop è precedente alla 1.7.5; e un pulsante Ripara ora se vengono rilevati residui della versione 1.x. Non devi scorrere un muro di spunte verdi per trovare l'unica cosa che conta.
La versione 2 ha eliminato un rischio di sicurezza e una montagna di chirurgia sul core
La versione 1.x si installava sostituendo file core — una copia di ProductListingFrontController per ogni versione di PrestaShop, più i template del tema classic e gli override di classe di ps_featuredproducts, ps_bestsellers, ps_newproducts, ps_specials e ProductController. Ogni aggiornamento di PrestaShop diventava così un rischio di pagina bianca.
La versione 2.0 è una riscrittura completa basata unicamente sugli hook. Nessun file core, nessun template del tema, nessun override. Gli aggiornamenti di PrestaShop non possono romperla, perché dentro PrestaShop non c'è nulla di suo da rompere.
Sono state inoltre rimosse le schermate di importazione ed esportazione CSV di massa, che giravano come script autonomi senza alcuna autenticazione — un buco di sicurezza reale, non teorico. Se ti serve il contrassegno in blocco, è previsto un controller admin protetto.
L'aggiornamento dalla 1.x ripulisce ciò che la vecchia versione ha lasciato
Sostituisci la cartella e apri la pagina Configura del modulo: il modulo rileva l'aggiornamento in sospeso e si migra da solo, conservando la tua lista di paesi e i testi per prodotto. Converte i tre vecchi interruttori nella regola unica, ripristina il controller core e i template del tema che la 1.x aveva sostituito partendo dai backup che aveva lasciato, elimina gli override di classe residui, rigenera l'indice delle classi e svuota la cache dei template. Tutto ciò che non può essere ripristinato automaticamente viene elencato dal controllo di stato con un pulsante Ripara ora.
Due note pratiche: non usare il pulsante Aggiorna del Gestore moduli, che funziona solo per i moduli scaricati da Addons e per un modulo aggiornato su disco restituisce "Could not perform action upgrade for module undefined" — la via corretta è aprire la pagina Configura. E non usare mai Reset, che cancella la configurazione.
Compatibilità
PrestaShop dalla 1.7 alla 9, in otto lingue: italiano, inglese, francese, tedesco, spagnolo, olandese, polacco e turco. Mascheramento del prezzo completamente lato server dalla 1.7.5 in poi; sulle versioni 1.7.0–1.7.4 gli hook del product presenter non esistono, quindi l'occultamento ricade sul solo livello CSS e JavaScript — il controllo di stato ti dice se il tuo negozio è interessato. I dati per prodotto sopravvivono a modifiche rapide, aggiornamenti di stock e salvataggi via web service, e le righe vengono eliminate automaticamente quando un prodotto viene cancellato.
Domande frequenti
Un visitatore ostinato può comunque trovare il prezzo nel sorgente della pagina?
No, non sulla 1.7.5 e successive. Il prezzo viene rimosso lato server prima che l'HTML venga costruito, quindi nel sorgente non c'è nulla da trovare.
Si può aggiungere al carrello un prodotto nascosto con un link diretto?
No. I prodotti limitati vengono rimossi dal carrello lato server a ogni salvataggio del carrello e di nuovo nelle pagine carrello e checkout.
Posso nascondere i prezzi solo agli ospiti e mostrarli ai clienti?
Sì — è la regola visitatori non autenticati, e puoi mostrare un pulsante Accedi che riporta il visitatore al prodotto dopo il login.
Cosa succede se non riesco a sapere da quale paese arriva un visitatore?
Viene trattato come limitato. La regola fallisce in chiusura invece di rischiare di far trapelare un prezzo. Nota che la regola per paese richiede la geolocalizzazione di PrestaShop attiva; il controllo di stato ti avvisa e rimanda direttamente all'impostazione.
Si romperà quando aggiorno PrestaShop?
No. La versione 2 non tocca alcun file core, template del tema o override: funziona interamente tramite hook, quindi dentro PrestaShop non c'è nulla che un aggiornamento possa rompere.
Funziona con i popup di vista rapida?
Sì. Quelle richieste AJAX vengono intercettate e la visualizzazione del prezzo viene forzata a off in memoria, solo per quella richiesta; i file e le impostazioni del modulo vista rapida non vengono mai modificati.
Sto aggiornando dalla 1.x: cosa devo ripulire?
Nulla a mano. Apri la pagina Configura e il modulo si migra da solo, ripristina i file core sostituiti dalla 1.x e rimuove i suoi override residui. Usa la pagina Configura invece del pulsante Aggiorna del Gestore moduli, e non usare mai Reset.
I miei prezzi sono nascosti ovunque e non me lo aspettavo. Verifica se è attiva la modalità catalogo di PrestaShop: nasconde tutti i prezzi in tutto il negozio, indipendentemente da questo modulo. Il controllo di stato lo segnala quando è il caso. E se vuoi fermare il modulo senza disinstallarlo, imposta la regola su Nessuno — il modulo è in pausa.
-
CompatibilitàPrestashop 1.7
Prestashop 8
Prestashop 9 -
Traduzioni del Modulo DisponibiliFrancese
Inglese
Italiano
Olandese
Polacco
Spagnolo
Tedesco
Turco
MEG Venture
4 altri prodotti nella stessa categoria
| Versione | 2.0.2 |
|---|---|
| Ultimo aggiornamento | 2026-07-30 |
| Registro delle modifiche | - [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 |
Commenti (2)
Non è stato possibile inviare il tuo giudizio sulla recensione
Segnala commento
Segnalazione inviata
Non è stato possibile inviare la tua segnalazione