Hide Price Pro - Inicia sesión para ver el precio, ocultar precios B2B y mayoristas por invitado, país o producto
Oculta los precios a quien no debe verlos y muestra en su lugar una invitación a iniciar sesión o tu propio texto. Elige una sola regla — visitantes sin sesión iniciada, países seleccionados o productos seleccionados — y el precio se elimina del lado del servidor, antes de que la página se construya, así que nunca llega al HTML. En los listados desaparece también el botón de añadir al carrito, y los productos restringidos se retiran del carrito en el servidor, de modo que un enlace de compra manipulado no sirve de nada. No se toca ningún archivo del núcleo, plantilla del tema ni override. Pensado para B2B, venta mayorista y venta bajo presupuesto. Para PrestaShop 1.7 – 9.
Para tiendas donde el precio no es para todo el mundo
Tarifas mayoristas que no quieres que lea la competencia. Un catálogo que vendes en unos países pero no en otros. Productos que se presupuestan en lugar de listarse. En los tres casos la respuesta es la misma: muestra el producto, oculta la cifra y dale al visitante un motivo para contactar o iniciar sesión.
Una sola regla, elegida a conciencia
La página de configuración ofrece exactamente una opción, no un montón de interruptores que pueden contradecirse entre sí:
- Nadie — el módulo está en pausa, y no se oculta nada.
- Visitantes que no han iniciado sesión — los invitados pierden el precio en todo el catálogo.
- Visitantes de los países seleccionados — el resto lo sigue viendo.
- Todos, pero solo en los productos marcados — oculto en los productos que marques, y en ningún otro sitio.
Las versiones anteriores tenían tres interruptores independientes y guardar una combinación no válida simplemente fallaba. Convertirlo en una única elección excluyente significa que ya no es posible crear una configuración imposible — y la opción Nadie hace que pausar el módulo nunca requiera desinstalarlo. Si abres la pestaña Módulos de un producto mientras hay otra regla activa, el módulo te avisa con claridad de que sus opciones por producto no tienen ningún efecto en ese momento, en lugar de dejarte configurar algo que en silencio no hace nada.
El precio se elimina antes de que la página exista
Esta es la parte que importa. En PrestaShop 1.7.5 y superior el módulo se engancha a actionPresentProduct y actionPresentProductListing y reescribe el producto del lado del servidor: show_price desactivado, cadenas de precio vaciadas, URL de añadir al carrito eliminada. El precio nunca llega al HTML, así que no se queda en el marcado esperando a que alguien lo encuentre en el código fuente de la página.
La ocultación cubre todos los sitios donde aparece un precio: páginas de categoría, resultados de búsqueda, widgets de la página de inicio — productos destacados, más vendidos, novedades, ofertas —, la vista rápida y la propia página de producto. En las páginas de listado desaparece con él el botón de añadir al carrito. Una pequeña capa de JavaScript se ocupa de las miniaturas de los listados y elimina de forma defensiva el marcado de precio que un tema poco habitual pudiera seguir generando, pero es una segunda línea de defensa, no el mecanismo principal.
No se puede sortear comprando
Ocultar un precio sirve de poco si alguien todavía puede meter el producto en su carrito. En cada guardado del carrito, y de nuevo en las páginas de carrito y de pago, los productos restringidos se eliminan del lado del servidor — así que un enlace de añadir al carrito fabricado a mano no lleva a ninguna parte.
Si no se puede determinar el país del visitante, se le trata como restringido. La regla falla del lado seguro: nunca filtra un precio porque la geolocalización fuera dudosa.
Las ventanas de vista rápida se cubren sin tocarlas
Los módulos de vista rápida muestran los precios a través de sus propios controladores AJAX, que es justo donde este tipo de enmascaramiento suele filtrarse. Esas peticiones se interceptan en el momento del despacho y se fuerza la desactivación de la visualización de precios del módulo en memoria, solo para esa petición — sus archivos y su configuración en base de datos no se modifican nunca. Un MutationObserver limpia las ventanas emergentes inyectadas y coloca dentro tu mensaje de reemplazo, y la comprobación de estado enumera los módulos de vista rápida que ha detectado en tu tienda.
Lo que ve el visitante en su lugar
Para las reglas de invitado y de país: un mensaje multiidioma que redactas tú, opcionalmente con un botón automático Iniciar sesión que devuelve al visitante al producto que estaba mirando una vez que accede.
Para la regla de producto: un campo Contenido mostrado en lugar del precio por producto y por idioma, donde se permite HTML — "Solicitar presupuesto", un número de teléfono, un enlace de contacto, lo que mejor te encaje — o nada en absoluto si lo dejas vacío.
Una comprobación de estado que responde a las preguntas antes de que las hagas
La página de configuración incluye una comprobación de estado que se mantiene callada cuando todo va bien y habla cuando no. En una tienda sana se limita a confirmar la Regla activa, cuántos Productos marcados hay, qué Módulos de vista rápida están cubiertos y que no quedan Archivos de versiones antiguas del módulo por ahí.
El resto aparece solo cuando corresponde: un aviso si la regla de país está activa pero la geolocalización de PrestaShop está desactivada — con un enlace directo para activarla, porque sin ella la regla no puede distinguir visitantes; una nota si el modo catálogo ya está ocultando todos los precios de la tienda y enmascarando el efecto del módulo; una nota si tu PrestaShop es anterior a 1.7.5; y un botón Reparar ahora si se detectan restos de la versión 1.x. Nadie te obliga a leer un muro de marcas verdes para encontrar lo único que importa.
La versión 2 eliminó un riesgo de seguridad y un montón de cirugía sobre el núcleo
La versión 1.x se instalaba sustituyendo archivos del núcleo — una copia de ProductListingFrontController por cada versión de PrestaShop, además de plantillas del tema classic y overrides de clase de ps_featuredproducts, ps_bestsellers, ps_newproducts, ps_specials y ProductController. Cada actualización de PrestaShop era entonces una oportunidad de acabar con una página en blanco.
La versión 2.0 es una reescritura completa que no usa más que hooks. Ningún archivo del núcleo, ninguna plantilla del tema, ningún override. Las actualizaciones de PrestaShop no pueden romperla, porque no hay nada suyo dentro de PrestaShop que se pueda romper.
También eliminó las pantallas de importación y exportación masiva por CSV, que se ejecutaban como scripts independientes sin ninguna autenticación — un agujero de seguridad real, no teórico. Si necesitas marcar productos en bloque, está previsto sacar una versión basada en un controlador de administración protegido.
Actualizar desde 1.x limpia lo que dejó la versión antigua
Sustituye la carpeta y abre la página Configurar del módulo: detecta la actualización pendiente y se migra a sí mismo sobre la marcha, conservando tu lista de países y tus textos por producto. Convierte los tres interruptores antiguos en la regla única, restaura el controlador del núcleo y las plantillas del tema que la 1.x había sustituido a partir de las copias de seguridad que dejó, borra los overrides de clase sobrantes, regenera el índice de clases y vacía la caché de plantillas. Todo lo que no se pueda restaurar automáticamente aparece en la comprobación de estado con un botón Reparar ahora.
Dos apuntes prácticos: no uses el botón Actualizar del Gestor de módulos, que solo funciona con módulos procedentes de Addons e informa de "Could not perform action upgrade for module undefined" cuando el módulo se ha actualizado en disco — la vía de actualización es abrir la página Configurar. Y no uses nunca Restablecer, que borra la configuración.
Compatibilidad
PrestaShop de la 1.7 a la 9, en ocho idiomas: alemán, español, francés, inglés, italiano, neerlandés, polaco y turco. Enmascaramiento de precios totalmente del lado del servidor a partir de la 1.7.5; en 1.7.0–1.7.4 los hooks del presentador de producto no existen, así que la ocultación se apoya únicamente en la capa CSS y JavaScript — la comprobación de estado te dice si tu tienda está afectada. Los datos por producto sobreviven a las ediciones rápidas, las actualizaciones de stock y los guardados por servicio web, y las filas se borran automáticamente cuando se elimina un producto.
Preguntas frecuentes
¿Puede un visitante insistente encontrar el precio en el código fuente de la página?
No, no en 1.7.5 y superior. El precio se elimina del lado del servidor antes de construir el HTML, así que no queda nada en el código fuente que encontrar.
¿Puede alguien añadir al carrito un producto oculto con un enlace directo?
No. Los productos restringidos se eliminan del carrito del lado del servidor en cada guardado del carrito y de nuevo en las páginas de carrito y de pago.
¿Puedo ocultar los precios solo a los invitados y dejar que los clientes los vean?
Sí — esa es la regla visitantes que no han iniciado sesión, y puedes mostrar un botón Iniciar sesión que los devuelva al producto después.
¿Qué pasa si no se puede saber en qué país está un visitante?
Se le trata como restringido. La regla falla del lado seguro en lugar de arriesgarse a filtrar un precio. Ten en cuenta que la regla de país necesita la geolocalización de PrestaShop activada; la comprobación de estado te avisa y enlaza directamente con el ajuste.
¿Se romperá cuando actualice PrestaShop?
No. La versión 2 no toca ningún archivo del núcleo, plantilla del tema ni override — funciona enteramente mediante hooks, así que no hay nada dentro de PrestaShop que una actualización pueda romper.
¿Funciona con las ventanas de vista rápida?
Sí. Esas peticiones AJAX se interceptan y la visualización de precios se desactiva en memoria solo para esa petición; los archivos y ajustes del propio módulo de vista rápida no se modifican nunca.
Vengo de la 1.x — ¿qué tengo que limpiar?
Nada a mano. Abre la página Configurar y el módulo se migra solo, restaura los archivos del núcleo que la 1.x sustituyó y elimina los overrides que dejó. Usa la página Configurar en lugar del botón Actualizar del Gestor de módulos, y no uses nunca Restablecer.
Mis precios están ocultos en todas partes y no me lo esperaba. Comprueba si está activado el modo catálogo del propio PrestaShop — oculta todos los precios de la tienda con independencia de este módulo. La comprobación de estado lo señala cuando corresponde. Y si quieres detener el módulo sin desinstalarlo, pon la regla en Nadie.
-
CompatibilidadPrestashop 1.7
Prestashop 8
Prestashop 9 -
Traducciones Disponibles del MóduloAlemán
Español
Francés
Inglés
Italiano
Neerlandés
Polaco
Turco
MEG Venture
4 productos más en la misma categoría
| Versión | 2.0.2 |
|---|---|
| Última actualización | 2026-07-30 |
| Registro de cambios | - [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 |
Comentarios (2)
Su agradecimiento a la reseña no pudo ser enviado
Reportar comentario
Reporte enviado
Su reporte no pudo ser enviado