Formulario de contacto mejorado: configuración y ayuda

Inicio rápido

  1. Sube el ZIP del módulo en "Modules > Module Manager" y abre "Configure".
  2. Edita "Default Contact Form" en Formulario de contacto > Formularios, incluidos Título del formulario y Correo del administrador.
  3. Comprueba Enviar correo al administrador, Enviar confirmación al cliente y Casilla RGPD en el formulario.
  4. Revisa los campos activos en Campos, conservando un campo de tipo email para las confirmaciones.
  5. Configura Información de la empresa, Ubicación y horario y Protección contra spam.
  6. Activa Reemplazar la página de contacto nativa si quieres que la URL de contacto normal use este formulario.
  7. Envía una prueba después de Tiempo mín. de envío y comprueba Envíos y ambos destinos de correo.

Requiere PrestaShop 1.6.1 o posterior y PHP 7.1 o posterior.

Manual de configuración

Instalar y preparar tu primer formulario

  1. Sube el ZIP de Better Contact Form en "Modules > Module Manager" y abre "Configure".
  2. Abre Formulario de contacto > Formularios y edita "Default Contact Form".
  3. Revisa Título del formulario, Descripción, Correo del administrador, Mensaje de confirmación y Etiqueta RGPD en cada idioma.
  4. Abre Campos y comprueba los campos instalados de nombre, email, teléfono, asunto y mensaje.
  5. Configura la página de contacto y los ajustes de correo descritos a continuación.
  6. Envía un mensaje de prueba. Confirma que aparece en Envíos y comprueba ambas bandejas de notificación.

Requiere PrestaShop 1.6.1 o posterior y PHP 7.1 o posterior.

El menú del módulo contiene Panel de control, Formularios, Campos, Envíos y Configuración. "Configure" abre la pantalla de configuración bajo Configuración.

Configurar la página de contacto

Configuración

Ajuste Valor predeterminado Qué hace
Reemplazar la página de contacto nativa No Dirige la URL de contacto normal, incluidas las reescrituras de contacto por idioma, a la página del módulo. Actívalo después de probar el formulario.
Activar marcado Schema.org Sí Añade datos LocalBusiness a la página de contacto principal del módulo y datos FAQPage cuando hay contenido FAQ.

Sin sustitución, puedes abrir el controlador frontal display del módulo mediante un enlace de módulo generado por PrestaShop. La gestión SEO propia del módulo trata las páginas id_form específicas como variantes noindex, follow. Una autoridad SEO central de páginas puede controlar los metadatos finales.

Información de la empresa

Ajuste Valor predeterminado Qué hacer
Mostrar tarjetas de información comercial Sí Muestra tarjetas de dirección, teléfono y email de la tienda desde los ajustes de PrestaShop.
Número de WhatsApp Vacío Introduce un número internacional con código de país, por ejemplo +48511511286. Déjalo vacío para omitirlo.
Mostrar enlaces sociales Sí Muestra los enlaces de perfiles sociales guardados.
Mostrar sección de preguntas frecuentes Sí Muestra las preguntas y respuestas guardadas.

"Social Links" y "FAQ Items" son valores JSON almacenados, no campos editables del formulario de configuración actual. Los enlaces sociales son una lista vacía por defecto. El contenido FAQ incluye inicialmente tres preguntas genéricas sobre tiempo de respuesta, atención telefónica y visitas a la oficina. Revisa ese contenido antes de activar la sección para clientes. Puede no describir tu negocio.

Ubicación y horario

Ajuste Valor predeterminado Qué hacer
Mostrar mapa Sí Activa el bloque de mapa. Ambas coordenadas deben estar también rellenadas.
Latitud del mapa Vacío Introduce la latitud del marcador.
Longitud del mapa Vacío Introduce la longitud del marcador.
Nivel de zoom del mapa 15 Ajusta el zoom de OpenStreetMap. El formulario sugiere de 1 a 18.
Mostrar horario de apertura Sí Muestra el horario semanal guardado y el cálculo actual de abierto/cerrado.
Zona horaria PrestaShop PS_TIMEZONE Introduce un identificador de zona horaria PHP válido si tu horario comercial usa otra zona. No está fijado en Europe/Warsaw.

El JSON guardado opening_hours define por defecto de lunes a viernes de 09:00 a 17:00, con sábado y domingo cerrados. El formulario actual no tiene editor de horarios. Un desarrollador puede actualizar la estructura guardada con las claves mon, tue, wed, thu, fri, sat, sun; cada una tiene cadenas open y close. Los valores vacíos significan cerrado. Comprueba el horario mostrado y la zona horaria antes de publicarlos.

Ajustes de correo y spam

Correo electrónico

Ajuste Valor predeterminado Uso en ejecución
Enviar notificación al administrador Sí Alternativa global cuando un formulario no proporciona su propio interruptor.
Dirección de e-mail admin Email de la tienda Destinatario alternativo cuando Correo del administrador del formulario está vacío. Separa varias direcciones con comas.
Enviar confirmación al cliente Sí Alternativa global cuando un formulario no proporciona su propio interruptor. Requiere un email de cliente enviado.

El formulario instalado tiene sus propios interruptores de correo. Cámbialos en Formularios para detener los correos de ese formulario. El interruptor global no es un control maestro que sustituya los ajustes por formulario ya rellenados.

Protección contra spam

Ajuste Valor predeterminado Uso en ejecución
Activar protección Honeypot Sí Preferencia global guardada. El ajuste Activar honeypot de cada formulario controla su protección.
Activar verificación basada en tiempo Sí Preferencia global guardada. El ajuste Activar la comprobación del tiempo transcurrido de cada formulario controla su comprobación del tiempo.
Tiempo mínimo de envío (segundos) 3 Preferencia global guardada. Cada formulario usa su propio valor Tiempo mín. de envío.
Envíos máx. por IP/hora 10 Marca un nuevo mensaje cuando esa IP ya tiene esa cantidad de envíos en la última hora. Pon 0 para desactivar.
Palabras bloqueadas Vacío Introduce un fragmento de texto por línea sin distinguir mayúsculas y minúsculas. Las coincidencias en los valores enviados marcan spam.
Direcciones IP bloqueadas Vacío Introduce una IP exacta por línea. Los envíos coincidentes se marcan como spam.

El honeypot oculto es website_url_confirm. La comprobación temporal usa la marca de tiempo de renderizado enviada y también marca las ausentes o no válidas. Estos controles no muestran un CAPTCHA.

Los mensajes de spam se guardan con un motivo, pero sin notificaciones por correo. El visitante recibe el mensaje de confirmación habitual. Es un marcado, no una prohibición de visitar la tienda.

Crear y editar formularios

Abre Formularios y añade o edita una fila. El formulario instalado se llama internamente "Default Contact Form". Su Título del formulario en inglés es "Contact us", y su descripción es "Send us a message and we will get back to you as soon as possible." Los campos de texto nuevos necesitan tu propia redacción.

Campo Valor del formulario instalado Qué hacer
Nombre interno "Default Contact Form" Define una etiqueta organizativa privada.
Título del formulario "Contact us" Define el encabezado multilingüe de la tienda.
Descripción Descripción de contacto instalada Define la introducción multilingüe.
Mensaje de confirmación ¡Gracias por tu mensaje! Hemos recibido tu consulta y responderemos en breve. Define la confirmación multilingüe mostrada después de guardar.
Enviar correo al administrador Sí Activa la notificación para este formulario.
Correo del administrador Vacío Sustituye el destinatario global o deja vacío para la alternativa. Separa las direcciones con comas.
Asunto del correo Nuevo envío del formulario de contacto Define el asunto multilingüe para el administrador. El sistema de correo añade el nombre de la tienda.
Enviar confirmación al cliente Sí Activa el acuse de recibo a la dirección de email enviada.
Activar honeypot Sí Comprueba el campo oculto para bots de este formulario.
Activar la comprobación del tiempo transcurrido Sí Comprueba el tiempo transcurrido para este formulario.
Tiempo mín. de envío 3 segundos Cambia el tiempo mínimo del formulario.
Casilla RGPD Sí Exige la casilla de consentimiento antes de guardar.
Etiqueta RGPD Acepto el tratamiento de mis datos personales conforme a la política de privacidad. Define el texto multilingüe de consentimiento.
Activo Sí Desactívalo para detener la visualización y el envío del formulario.

Añadir y ordenar campos

Abre Campos y selecciona el Formulario deseado. Los campos nuevos tienen por defecto tipo Texto, no son obligatorios, están activos, con Posición 0 y valores de texto y validación vacíos.

Campo Qué hacer
Formulario Asigna el campo a su formulario.
Etiqueta Define una etiqueta visible multilingüe.
Nombre del campo Define una clave enviada como company_name, order_number, website o vat_number. El nombre POST pasa a ser mpr_cf_FIELD_NAME.
Tipo de campo Elige text, email, phone, textarea, select, checkbox, url, number o file.
Texto de ejemplo Define indicaciones de entrada multilingües.
Descripción Define ayuda multilingüe bajo el campo.
Obligatorio Exige un valor enviado.
Regla de validación Opcionalmente indica un método Validate existente de PrestaShop, como isName, isEmail, isPhoneNumber o isMessage.
Opciones Introduce un valor permitido de Selección / desplegable por línea.
Posición Define el orden de los campos.
Activo Oculta o muestra este campo.

Para un desplegable de temas, introduce una línea para Consulta sobre pedido, Solicitud de devolución, Asesoramiento de producto, Cuenta de empresa y Otro. Los campos de email, teléfono, URL, número y selección también reciben comprobaciones específicas de su tipo.

Conserva un campo de tipo email si quieres confirmaciones para clientes. Usa name o full_name como clave del nombre para copiarlo a la columna de nombre de cliente del envío.

Subida de archivo muestra un campo de archivo, pero los archivos subidos no se guardan. No lo uses para recoger adjuntos. Los campos de archivo obligatorios pueden rechazarse por estar vacíos.

Insertar y dar estilo a un formulario

Usa una plantilla Smarty de tema o módulo que ejecute hooks. Pegar Smarty en HTML normal de CMS no hace que PrestaShop lo ejecute.

{hook h='displayMprContactForm'}
{hook h='displayMprContactForm' id_form=2}

La primera llamada usa el formulario activo predeterminado. La segunda selecciona un formulario por ID.

En Estilos del tema, revisa la paleta detectada, texto, fondos, bordes, colores de éxito/error, color de foco y radios. Los ajustes privados incluyen "Form spacing" (20px), "Card shadow" (0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04)), "Raised card shadow" (0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05)) y "WhatsApp color" (#25D366).

Para cambiar el marcado, sobrescribe estas plantillas del módulo en tu tema:

themes/your-theme/modules/mprcontactform/views/templates/front/contact_form.tpl
themes/your-theme/modules/mprcontactform/views/templates/front/contact_page.tpl

Usa .mpr-contactform .mpr-cf-title, .mpr-contactform .mpr-cf-btn y .mpr-contact-page .mpr-cp-card--whatsapp para estilos propios del tema.

Un desarrollador que actualice los enlaces sociales guardados puede usar un objeto JSON con claves facebook, instagram, x, linkedin, youtube, tiktok, pinterest o whatsapp, con una URL de perfil como cada valor. Esto no crea un campo adicional en el back office.

Las plantillas de correo bajo views/templates/mails/ reciben {form_title}, {customer_name}, {customer_email}, {field_data}, {submission_date}, {ip_address}, {shop_name} y {shop_url}.

Verificar envíos y resolver problemas

Envía un mensaje normal después de esperar más que el tiempo mínimo del formulario. Comprueba en Envíos formulario, nombre, email, IP, estado, indicador de spam, fecha y valores de campos. Usa el detalle de fila para leer los valores. Las acciones masivas permiten marcar mensajes como leídos, como spam o eliminarlos.

Si falta un correo, comprueba primero el envío guardado: su motivo de spam, después los interruptores de correo por formulario, los destinatarios y la entrega de correo de PrestaShop. Un envío guardado indica que el formulario funcionó; el correo puede no llegar de todos modos.

Si falta un formulario, comprueba su estado Activo, campos activos e ID seleccionado. Si falla la sustitución de ruta, comprueba Reemplazar la página de contacto nativa y la reescritura de la URL de contacto de la tienda. Si faltan el mapa o los enlaces sociales, comprueba sus interruptores y coordenadas o enlaces guardados.

Desinstalar

Haz una copia de las definiciones de formularios y los envíos antes de desinstalar. La desinstalación elimina el esquema del módulo, incluidos formularios, campos y envíos, junto con la configuración y entradas administrativas. También elimina su registro en Theme Detector. Usa Activo por formulario o desactiva el módulo para pausarlo conservando los registros.

Preguntas

Aún no hay preguntas sobre este módulo

Pregunta lo que quieras sobre instalación, compatibilidad o configuración. Las respuestas aparecen aquí.

Problemas conocidos

13

Refuerzo de la seguridad

ResueltoActualizado:
Corregido en: 1.7.5
Refuerzo de la seguridad.

La página de contacto nativa mostraba dos formularios

ResueltoActualizado:
Corregido en: 1.7.2
Activar la sustitución de la página de contacto podía dejar visibles tanto el formulario nativo como el sustituto.

No se entregaban los correos de notificación

ResueltoActualizado:
Corregido en: 1.7.2
En PrestaShop de 1.7 a 9, los correos de notificación de contacto y confirmación podían no enviarse porque no se encontraban sus plantillas.

Las respuestas a confirmaciones no llegaban a la tienda

ResueltoActualizado:
Corregido en: 1.7.2
Responder a un correo de confirmación del cliente podía usar una dirección de respuesta incorrecta.

Las etiquetas de administración seguían en inglés

ResueltoActualizado:
Corregido en: 1.7.2
Algunos ajustes y etiquetas breves de administración no usaban sus traducciones disponibles.

Los horarios predeterminados usaban una zona horaria incorrecta

ResueltoActualizado:
Corregido en: 1.6.0
Los nuevos formularios de contacto usaban una zona horaria fija en lugar de la zona horaria de la tienda.

Las páginas de contacto podían fallar con distinto soporte del tema

ResueltoActualizado:
Corregido en: 1.6.0
Las páginas de contacto podían fallar cuando otro módulo instalado proporcionaba un componente de soporte del tema más antiguo.

Recursos ausentes del formulario de contacto

ResueltoActualizado:
Corregido en: 1.4.9
La falta de recursos de administración y tienda podía alterar el aspecto o los controles del formulario.

El CSS combinado alteraba los estilos del formulario de contacto

ResueltoActualizado:
Corregido en: 1.4.9
Activar el CSS combinado podía impedir que los estilos del formulario de contacto cargaran correctamente.

Estilos ausentes en el formulario de contacto nativo

ResueltoActualizado:
Corregido en: 1.4.8
Los formularios mostrados en la página de contacto nativa podían aparecer sin los estilos del módulo.

Estilos ausentes en el formulario independiente

ResueltoActualizado:
Corregido en: 1.4.7
Un formulario mostrado en su propia página podía aparecer sin el diseño y los estilos previstos.

Enlaces de idioma incorrectos en la página de contacto

ResueltoActualizado:
Corregido en: 1.4.4
Cambiar de idioma en la página de contacto podía llevar a una dirección de contacto incorrecta.

El título de la página de contacto omitía el nombre de la tienda

ResueltoActualizado:
Corregido en: 1.4.4
El título de la página de contacto no incluía el nombre de la tienda.

Solicitudes de funcionalidades

7

Implementado

Formulario de contacto predeterminado traducido

Implementado
Si aún no existe un formulario, el módulo crea uno predeterminado con etiquetas, textos de ejemplo, opciones de asunto y texto de consentimiento de privacidad traducidos. Para los idiomas no compatibles encontrarás los textos predeterminados en inglés.

Formularios de contacto personalizados

Implementado
Crea formularios con campos configurables, dirige las notificaciones y conserva un historial de los envíos.

Controles antispam integrados

Implementado
Configura la protección honeypot, las comprobaciones del tiempo de envío y los límites de frecuencia de los formularios de contacto.

Aspecto de formularios adaptado al tema

Implementado
Ajusta el aspecto de los formularios con los estilos del tema de la tienda.

Actualizaciones con un clic

Implementado
Actualiza el módulo desde su página de administración.

Alternativas de idioma de la página de contacto

Implementado
Proporciona direcciones alternativas de la página de contacto para los idiomas activos de la tienda.

Cloudflare Turnstile

Implementado
Protege opcionalmente los envíos de contacto con Cloudflare Turnstile.

Registro de cambios

v1.4.82026-09-06

  • FixedContact form stylesheet now loads on the native PrestaShop contact page (registered via actionFrontControllerSetMedia with a PS 1.6 link fallback)
Versiones anteriores

v1.4.72026-08-10

  • FixedFront-office form styling on the standalone contact page

v1.4.62026-05-27

  • AddedLocalize default contact forms
  • AddedUse shared theme style tokens
  • Addedcomplete FR/DE/ES/IT/PL translations
  • FixedVendor prestashop compat as files
  • FixedSuppress contact schema on noindex form variants
  • FixedCapture contact user agent safely
  • FixedUse local CSS path for CCC bundling compatibility

v1.4.62026-05-26

  • Fixeddemo installation by refreshing shared package wiring and autoload registration.
  • Addedlazy post-install integrity runner so first-visit install checks fire consistently.
  • Cleaned the customer ZIP packaging for current shared admin, integrity, update, selector, and search assets.

v1.3.02026-04-20

  • Addedself-healing integrity checks for automatic diagnostics and repair
  • Addedautomatic theme detection for Classic and Hummingbird style compatibility
  • Addedadmin menu management via MenuInstaller for streamlined module setup
  • AddedLicense management tab with key management and renewal options
  • Addedcomplete FR/DE/ES/IT/PL translations
  • Improvedadmin list columns with visual badge indicators and multiselect filters
  • Improvedsettings form organization with tabbed layout
  • ImprovedSEO handling with proper canonical URLs and meta tags on all front pages
  • FixedAdd canonical route name for getModuleLink resolution
  • FixedAppend shop name to contact page meta title
  • Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns

v1.2.02026-02-13

  • AddedPrestaShop 9 and Hummingbird theme compatibility
  • Addedfile attachment support with configurable allowed file types and maximum upload size
  • Improvedform-specific recipient email and customer confirmation settings
  • Fixedhoneypot field interfering with PS native form validation on older jQuery builds
  • Addedminimum submit-time anti-bot checks as companion protection to honeypot fields

v1.0.02025-12-04

  • Initialrelease of Better Contact Form
  • InitialCustom field builder: add text, textarea and select fields via the back office interface
  • InitialHoneypot anti-bot protection with no CAPTCHA friction for legitimate users
  • InitialForm-specific recipient email address for admin notifications
  • InitialInquiry log in back office with full submission history and CSV export

v1.1.02025-09-16

  • Addedcustom field types: email, phone, URL, number, checkbox, file upload, textarea and select
  • Addedconfigurable success messages and customer confirmation emails per form
  • Improvedback office submission tracking and filtering
  • Fixedsubmitted form data not saved to inquiry log when email delivery fails

Demo

Prueba el módulo completo antes de comprar

Compra la licencia más tarde y conserva tus ajustes.

  • Tu demo de 30 días Pruébalo en tu propia tienda durante 30 días desde la primera instalación.
  • Tienda demo lista Explora una tienda demo lista en tu navegador.
  • Sin registro Sin cuenta, correo ni dominio de tienda.
Iniciar tienda demo

Al descargar, aceptas las condiciones de la demo y la política de privacidad.

Al abrir esta demo, acepta los términos de la demo y la política de privacidad.

Cargando...
Volver arriba