Formulario de contacto dinámico para PrestaShop: un formulario por asunto — configuración y guía

Dynamic Contact Form convierte la página de contacto de PrestaShop en un formulario por asunto: el cliente elige «Servicio posventa» o «Solicitud de presupuesto» y solo ve las preguntas que corresponden, con campos que aparecen o desaparecen según sus respuestas. Cada solicitud llega al equipo adecuado, se conserva en una tabla que puede filtrar y exportar, y sigue abriendo una conversación en la atención al cliente nativa.

Esta guía explica cómo instalar el módulo, construir su primer formulario, enrutar las solicitudes, proteger el formulario del spam y resolver los casos habituales.

Puntos fuertes:

  • Un formulario por asunto de la página de contacto, con sus propios campos, destinatarios y acuse de recibo
  • Nueve tipos de campo (texto, área de texto, lista, botones de opción, varias casillas, casilla, fecha, archivo, bloque de información), con texto de ayuda, ayuda bajo el campo y comprobaciones
  • Condiciones que funcionan: un campo solo aparece cuando la respuesta a otro lo pide, en el navegador y en el servidor
  • Enrutamiento: copia y copia oculta, un destinatario elegido según la respuesta a una lista, un asunto de correo con variables
  • Solicitudes conservadas en el back office: filtros, archivos descargables, exportación a CSV, borrado automático
  • Conversación en atención al cliente como con el formulario nativo, y un acuse de recibo que nunca repite el mensaje del cliente
  • Consentimiento RGPD, antispam (límites, tiempo de relleno, Turnstile o reCAPTCHA opcional) y archivos protegidos
  • PrestaShop 1.7.8, 8.0+ y 9.0+; PHP 7.4 como mínimo; administración en francés, inglés, español, italiano y polaco

Descubrir el módulo y sus planes


Presentación

El formulario de contacto nativo de PrestaShop tiene los mismos campos para todos los asuntos. Un cliente con una avería, un cliente que quiere un presupuesto y un cliente que pregunta por la entrega rellenan el mismo formulario, y su equipo responde para pedir el número de pedido, la cantidad o una foto. Con Dynamic Contact Form:

  1. Cada asunto de la página de contacto (Parámetros de la tienda > Contacto > Contactos) tiene su propio formulario: los campos que necesita para ese tipo de solicitud.
  2. Los campos siguen las respuestas: el número de pedido y la foto del problema aparecen en caso de avería, la empresa aparece cuando el cliente pide una factura.
  3. La solicitud va a las personas adecuadas: la dirección del asunto, una copia, y un destinatario elegido según la respuesta a una lista.
  4. La solicitud se conserva: una conversación en la atención al cliente, y una línea en el módulo con sus respuestas y sus archivos, lista para filtrar y exportar.

El módulo no añade nada a la página aparte del formulario. El tema dibuja la página, el módulo dibuja el formulario en su zona de contacto. Para un asunto sin formulario, el módulo muestra un formulario simple (correo, mensaje, archivo adjunto): ningún asunto se queda vacío.

Página de contacto de una tienda PrestaShop: se elige el asunto Servicio posventa, el motivo Avería muestra los campos número de pedido y foto, y la casilla de factura muestra el campo empresaUn formulario por asunto, con campos que aparecen cuando hacen falta

Funciones

Un formulario por asunto

Todos los asuntos de la tienda se ofrecen en la lista de la página de contacto. Elija un asunto: aparece su formulario, con la breve descripción del asunto bajo la lista. Un asunto que no tiene formulario muestra el formulario simple; un formulario que desactiva devuelve su asunto al formulario simple.

Página de contacto con el asunto Solicitud de presupuesto: campos empresa, correo de facturación, sitio web, teléfono, cantidad y plazo, después el mensaje y el botón EnviarOtro asunto, otro formulario

Nueve tipos de campo

  • Texto (una línea) y Texto (varias líneas), con un texto de ayuda y una ayuda bajo el campo
  • Lista desplegable, Botones de opción y Varias casillas, con las respuestas que usted escribe (una por línea si las pega)
  • Casilla, para una pregunta de sí o no
  • Fecha
  • Archivo: usted elige los tipos aceptados, el tamaño máximo y el número de archivos
  • Bloque de información: un título y un texto (HTML permitido) que el cliente lee, como «Respondemos en 24 horas»

Cada campo puede ser obligatorio, tiene una etiqueta, un texto de ayuda y una ayuda bajo el campo en cada idioma de la tienda, y una clave (sacada de la etiqueta) que nombra el campo en la exportación a CSV y en los correos.

Comprobaciones en cada campo

Un campo de texto puede comprobarse como dirección de correo, dirección web, número de teléfono, número o con su propia expresión regular (por ejemplo ^[0-9]{5}$ para un código postal francés; un campo de prueba en el editor le dice si un valor encaja). El cliente ve el mensaje junto al campo, en su idioma, y conserva lo que escribió. El navegador comprueba el formulario antes del envío; el servidor lo comprueba de nuevo al recibirlo.

Condiciones: mostrar un campo solo cuando es útil

Una condición mira otro campo del mismo formulario:

  • una lista, botones de opción o varias casillas: la respuesta es una de (o no es ninguna de) las que usted marca
  • una casilla: está marcada (o no está marcada)
  • un campo de texto: es igual a un valor, no es igual a él o lo contiene

Un campo oculto ni es obligatorio ni se guarda. Una condición tiene un solo nivel: un campo que depende de otro no puede ser probado a su vez por un tercero. El navegador y el servidor aplican las mismas reglas.

Archivos seguros

Los archivos enviados con una solicitud se inspeccionan por su contenido, se guardan fuera de la carpeta pública de la tienda con nombres aleatorios y se ofrecen a su equipo como descargas (nunca se abren en el navegador). Se adjuntan al correo del equipo hasta el tamaño que usted fije; los archivos más grandes se quedan en el back office, donde la solicitud enlaza con ellos.

Enrutamiento: cada solicitud al equipo adecuado

  • La solicitud va a la dirección del asunto (Parámetros de la tienda > Contacto > Contactos)
  • Un formulario puede añadir siempre una copia y una copia oculta
  • Las rutas eligen destinatarios según la respuesta a una lista: «cuando la respuesta a Motivo es Devolución, enviar la solicitud a devoluciones@… en lugar de la dirección del asunto», o «además de» la dirección del asunto
  • El asunto del correo admite variables: {firstname}, {lastname}, {email}, {order_reference}, {reference}, {subject}, {shop_name} y {field:clave} para la respuesta a un campo

Un acuse de recibo siempre profesional

Active el acuse de recibo de un formulario: el cliente recibe un correo justo después del envío, con el asunto y el texto que usted escribe en cada idioma (mismas variables). Nunca repite lo que el cliente escribió.

Solicitudes conservadas y exportadas

Cada solicitud se convierte en una conversación en Atención al cliente > Atención al cliente, con las respuestas escritas en el mensaje y un enlace a la solicitud. Si conserva las solicitudes en el back office, la pestaña Solicitudes las lista: filtre por asunto, fecha o correo, abra una solicitud para leer sus respuestas y descargar sus archivos, y exporte a CSV (una columna por campo) para Excel, LibreOffice o Google Sheets. Un cliente que responde desde su correo continúa la misma conversación.

RGPD y privacidad

Cada formulario puede pedir un consentimiento con su propio texto (HTML permitido, por ejemplo un enlace a su política de privacidad) o usar el consentimiento del módulo RGPD oficial. La fecha del consentimiento se guarda con la solicitud. Las solicitudes pueden borrarse automáticamente tras un número de días, y el módulo RGPD oficial puede exportar o borrar las solicitudes de un cliente.

Antispam

Un límite de solicitudes por hora y por dirección y por hora y por correo, un tiempo mínimo para rellenar el formulario, un límite de enlaces, un campo trampa oculto y un token de seguridad. Puede añadir Cloudflare Turnstile o Google reCAPTCHA con sus propias claves. Un hook, actionWeprestaDcfSubmitBefore, permite a un desarrollador aceptar o rechazar una solicitud.

Grupos de clientes, idiomas y varias tiendas

Limite un formulario a grupos de clientes (visitantes, invitados, clientes o sus propios grupos): los demás no ven el asunto. Cada texto existe en cada idioma de la tienda. En una instalación multitienda, cada tienda tiene su propio formulario para cada asunto. Un formulario se puede duplicar, exportar a un archivo JSON e importar en otra tienda (llega desactivado).

En un teléfono

El formulario sigue el diseño de su tema: las etiquetas están encima de los campos, el teclado del teléfono se adapta a un correo, un número de teléfono o un número, y los mensajes se quedan junto al campo.

Formulario de contacto en un teléfono: asunto, correo, motivo, número de pedido, foto, preferencia de llamada, bloque de información, mensaje, casilla de consentimiento y botón EnviarEl mismo formulario en un teléfono

Requisitos

  • PrestaShop: 1.7.8, 8.0+ o 9.0+. PrestaShop 1.7.7 y las versiones anteriores no son compatibles.
  • PHP: 7.4 como mínimo, con las extensiones curl, json y mbstring. Se recomienda la extensión fileinfo: sin ella solo se comprueba la extensión de un archivo, no su contenido.
  • Tema: un tema incluido en PrestaShop, o un tema hijo que conserve la página de contacto de su padre. El Diagnóstico le dice lo que hace su tema.
  • Se recomienda HTTPS.

Instalación

Método 1 — desde el back office (recomendado)

  1. Descargue el archivo desde su área de cliente de WePresta
  2. Vaya a Módulos > Gestor de módulos
  3. Haga clic en Subir un módulo y seleccione el archivo ZIP
  4. Espere a que termine la instalación, haga clic en Configurar y active su licencia

Método 2 — por FTP

  1. Descomprima el archivo
  2. Suba la carpeta wepresta_dynamic_contact_form/ a /modules/
  3. En el back office: Módulos > Gestor de módulos, busque «Dynamic Contact Form» y haga clic en Instalar, después en Configurar

Qué hace la instalación

  • Desactiva el formulario de contacto nativo, para que el módulo sirva la página de contacto; desinstalar el módulo lo vuelve a activar
  • Crea las tablas de los formularios y de las solicitudes, una carpeta para los archivos fuera de la carpeta pública y la entrada de menú
  • Registra los hooks del módulo; no sustituye ninguna clase de la tienda
  • Si la instalación falla, lo que había creado se elimina

Actualización desde la versión 1.0.0

  • Sus formularios y sus campos se conservan, en todos los idiomas
  • Los textos y las expresiones regulares dañados por la versión 1.0.0 (apóstrofos precedidos de una barra invertida, por ejemplo) se reparan
  • Las condiciones se convierten para seguir las respuestas por sí mismas, en todos los idiomas
  • El reemplazo de la página de contacto instalado por la versión 1.0.0 se elimina; si usted lo modificó a mano, el módulo lo deja y el Diagnóstico se lo indica
  • Las bibliotecas y los archivos de desarrollo que traía la versión 1.0.0 (hasta 150 MB) se borran: el archivo pasa de 28 MB a unos 340 KB
  • Si los CSS y JavaScript del tema están combinados, vacíe la caché de PrestaShop tras la actualización

Construya su primer formulario en diez minutos

Abra Módulos > Gestor de módulos > Dynamic Contact Form > Configurar: la página ofrece Gestionar los formularios y Abrir las solicitudes, y cada página del módulo tiene tres pestañas, Formularios, Solicitudes y Ajustes.

1. Crear el formulario

  1. En Formularios, haga clic en Añadir un formulario y elija su asunto de contacto (cree los asuntos que necesite en Parámetros de la tienda > Contacto > Contactos).
  2. Deje Activo activado, elija los grupos de clientes si el asunto está reservado y marque Referencia del pedido si los clientes conectados pueden indicar el pedido afectado.
  3. Escriba el texto del consentimiento si el formulario necesita una casilla de consentimiento y guarde: aparece el panel Campos.
Editor de formularios en el back office: tabla de los campos con su tipo, su clave, si es obligatorio y la condición escrita como una frase, y el botón Añadir un campoCada campo y su condición de un vistazo

La tabla de los campos muestra, para cada uno, su tipo, su clave, si es obligatorio y su condición escrita como una frase: «Visible si «Motivo» es una de Avería, Devolución».

2. Añadir los campos y sus condiciones

  1. Haga clic en Añadir un campo, elija el tipo, escriba la etiqueta (la barra de idiomas de la ventana cambia el idioma), el texto de ayuda y la ayuda bajo el campo.
  2. Para una lista, botones de opción o casillas, añada las respuestas una a una, o péguelas una por línea y haga clic en Añadir estas respuestas.
  3. En Comprobación, elija el tipo de valor esperado (correo, dirección web, teléfono, número, su propio patrón).
  4. En Condición, elija otro campo del formulario y las respuestas (o el estado de la casilla) para las que este campo debe aparecer.
Ventana para editar un campo: tipo, etiqueta, texto de ayuda, ayuda bajo el campo, comprobación, y la condición construida a partir de un campo de lista y sus respuestasEditar un campo: tipo, textos, comprobación y condición

Ejemplo para un formulario posventa: una lista Motivo (Avería, Devolución, Otro); un campo Número de pedido visible si el motivo es uno de Avería o Devolución; un archivo Foto del problema visible si el motivo es Avería; una casilla Necesito una factura que muestra un campo Empresa.

3. Enrutar la solicitud y escribir el acuse de recibo

En el panel Correo a su equipo, añada las direcciones en Copia a y Copia oculta a, el Asunto del correo (con variables) y las Rutas: elija un campo de lista, las respuestas y los destinatarios, y si la solicitud va en lugar de o además de la dirección del asunto. Después, en Acuse de recibo al cliente, actívelo y escriba el asunto y el texto en cada idioma.

Panel Correo a su equipo: direcciones en copia y en copia oculta, asunto del correo con variables, y dos rutas que dependen de la respuesta a una listaEnviar cada solicitud al equipo adecuado

Guarde y haga clic en Verlo en la tienda: elija el asunto en la página de contacto y pruebe el formulario.

4. Seguir las solicitudes

Cada solicitud aparece en la pestaña Solicitudes: ábrala para leer las respuestas y descargar los archivos. Para exportar, elija un asunto y fechas en Exportar a CSV y haga clic en Exportar.

Página de solicitudes: exportación a CSV por asunto y fechas, y lista de solicitudes con fecha, asunto, correo, conversación y archivosSolicitudes conservadas en una tabla y exportadas a CSV

5. Proteger el formulario y ajustar la privacidad

Abra la pestaña Ajustes: el panel Antispam contiene los límites (por defecto 10 solicitudes por hora para una dirección, 5 para un correo, 3 segundos como mínimo para rellenar el formulario, 3 enlaces en un mensaje), el captcha opcional y sus claves, y qué hacer si no se puede contactar con el captcha (aceptar la solicitud o rechazarla). El panel Solicitudes, archivos y privacidad permite conservar las solicitudes en el back office, borrarlas tras un número de días (0 las conserva hasta que usted las elimine), fijar el tamaño máximo de un archivo, los tipos de archivo aceptados y el tamaño de los archivos adjuntos al correo de su equipo.

Ajustes: solicitudes por hora y por dirección o por correo, tiempo mínimo para rellenar, enlaces permitidos, captcha, conservación de las solicitudes, tamaño y tipos de archivoAjustes antispam, conservación y privacidad

Licencia

Tras la instalación, Configurar muestra el formulario de activación: introduzca la clave de licencia y el secreto de licencia disponibles en su área de cliente de WePresta. La licencia puede desactivarse en un dominio desde la misma página. Cuando caduca una suscripción, un plazo de gracia de siete días evita cualquier interrupción; después la página de contacto mantiene un formulario simple (asunto, correo, mensaje, archivo adjunto) que sigue creando la conversación, hasta que se renueve la licencia. El módulo se da cuenta de la renovación por sí mismo (vuelve a consultar el servidor de licencias como máximo una vez por hora) y cada vez que usted abre sus páginas en el back office. Sus formularios y sus datos se conservan.


Casos de uso habituales

Posventa: las preguntas adecuadas para cada motivo

Un formulario con una lista Motivo: una avería pide el número de pedido y una foto, una devolución pide el número de pedido, «Otro» no pide nada más. Su equipo recibe solicitudes completas y envía las devoluciones al equipo de devoluciones mediante una ruta.

Solicitudes de presupuesto B2B

Un asunto Solicitud de presupuesto con empresa, correo de facturación (comprobado como correo), sitio web (comprobado como dirección web), teléfono, cantidad (comprobada como número) y plazo. Resérvelo a su grupo de clientes profesionales si lo desea.

Un asunto reservado a miembros

Limite un formulario a un grupo de clientes: solo esos clientes ven el asunto en la página de contacto.

Un formulario para varias tiendas

Exporte el formulario a un archivo JSON e impórtelo en otra tienda: campos, condiciones, respuestas y textos vienen con él, desactivados hasta que usted los revise.

Recoger documentos

Añada un campo Archivo con los tipos que acepta (por ejemplo pdf,png,jpg), el tamaño máximo y el número de archivos: los archivos se guardan fuera de la carpeta pública y su equipo los descarga desde la solicitud.


FAQ

¿Para qué sirve un formulario de contacto «dinámico» en PrestaShop?

El formulario nativo suele ser demasiado genérico: los mismos campos para todos los asuntos, poca cualificación y muchos intercambios con atención al cliente. El módulo lo sustituye por un formulario por asunto (atención al cliente, presupuesto, soporte técnico, colaboración…), con campos adaptados a la solicitud que solo aparecen cuando son útiles, para que cada mensaje llegue completo y al equipo adecuado.

¿De verdad se puede crear un formulario distinto para cada asunto de contacto?

Sí. Elija un asunto definido en Parámetros de la tienda > Contacto > Contactos, cree su formulario en el módulo (Formularios) y añada sus campos: cada asunto tiene sus propios campos y opciones, sus propios destinatarios y su propio acuse de recibo. Un asunto sin formulario muestra un formulario simple (correo, mensaje, archivo adjunto): ningún asunto se queda vacío.

¿Qué tipos de campos personalizados se pueden añadir?

Nueve tipos: texto de una línea, texto de varias líneas, lista desplegable, botones de opción, varias casillas, casilla, fecha, archivo y bloque de información. Un campo de texto puede comprobarse como dirección de correo, dirección web, número de teléfono, número o con su propio patrón. Cada campo puede ser obligatorio, tener un texto de ayuda y una ayuda bajo el campo, y su etiqueta, sus respuestas y sus textos existen en cada idioma de la tienda.

¿Cómo funciona la lógica condicional (campos que aparecen o desaparecen)?

Un campo solo se muestra si otro campo del mismo formulario cumple una condición: la respuesta a una lista, botones de opción o varias casillas es una de las respuestas elegidas (o ninguna de ellas), una casilla está marcada (o no), o un campo de texto es igual a un valor, distinto de él o lo contiene. Las reglas son las mismas en el navegador y en el servidor, y un campo oculto ni es obligatorio ni se guarda. Las condiciones tienen un solo nivel: un campo condicional no puede ser el padre de otro.

¿Se pueden reservar ciertos formularios a clientes B2B (grupos de clientes)?

Sí. Limite un formulario a uno o varios grupos de clientes: solo sus clientes ven el asunto. Es útil para un formulario de «presupuesto profesional», un formulario para revendedores o un asunto reservado a miembros, sin crear varias páginas de contacto.

¿Cómo ayuda el módulo a cumplir el RGPD?

Cada formulario puede incluir una casilla de consentimiento con su propio texto (HTML permitido, por ejemplo un enlace a la política de privacidad) o usar el consentimiento del módulo RGPD oficial. La fecha del consentimiento se guarda con la solicitud. Las solicitudes pueden borrarse automáticamente tras el número de días que elija, y exportarse o borrarse para un cliente mediante el módulo RGPD oficial.

¿El cliente recibe una confirmación automática tras el envío?

Sí, si la activa para el formulario: un acuse de recibo sale justo después de la solicitud, con un asunto y un texto propios en cada idioma y variables como {firstname}, {reference} o la respuesta a un campo. Nunca repite lo que el cliente escribió. La solicitud sigue creando una conversación en Atención al cliente > Atención al cliente, como el formulario nativo.

¿Está el módulo protegido contra el spam (sin CAPTCHA)?

Sí: un límite de solicitudes por hora para cada dirección y cada correo (guardado en la base de datos, de modo que un robot sin cookies no puede esquivarlo), un tiempo mínimo para rellenar, un límite de enlaces, un campo trampa oculto y un token de seguridad. Si quiere más, se puede activar un captcha opcional (Cloudflare Turnstile o Google reCAPTCHA, con sus propias claves).

¿Cómo desplegar la misma configuración en varias tiendas (o entornos)?

Cada tienda tiene sus propios formularios. Para reutilizar un formulario, expórtelo a un archivo JSON (campos, condiciones, respuestas y textos) e impórtelo en otra tienda: el formulario importado llega desactivado, para que lo revise antes de activarlo. Es útil para una agencia (preproducción → producción) y para guardar sus formularios antes de una actualización.

Compatibilidad, requisitos y desinstalación: ¿a qué hay que prestar atención?

PrestaShop 1.7.8, 8.0+ y 9.0+ con PHP 7.4 o superior; se recomienda HTTPS. PrestaShop 1.7.7 y las versiones anteriores no son compatibles. El módulo desactiva el formulario de contacto nativo al instalarse y lo vuelve a activar al desinstalarse. Desinstalar borra los formularios, las solicitudes y sus archivos: exporte antes sus formularios (JSON) y sus solicitudes (CSV).

¿Puede cada solicitud ir al equipo adecuado?

Sí. Además de la dirección del asunto (Parámetros de la tienda > Contacto > Contactos), un formulario puede enviar una copia y una copia oculta a otras direcciones, y las rutas eligen los destinatarios según la respuesta a una lista: por ejemplo, una solicitud «Devolución» va al equipo de devoluciones en lugar de la dirección habitual, y una solicitud «Avería» se copia también al soporte. El asunto del correo admite variables.

¿Dónde se conservan las solicitudes y puedo exportarlas?

Cada solicitud crea una conversación en Atención al cliente y, si conserva las solicitudes en el back office, una línea en la pestaña Solicitudes del módulo: filtre por asunto, fecha o correo, lea las respuestas, descargue los archivos y exporte a CSV (una columna por campo) para Excel, LibreOffice o Google Sheets. También puede programar un borrado automático tras un número de días.

¿Qué pasa si caduca mi licencia?

La página de contacto nunca se queda vacía: mantiene un formulario simple (asunto, correo, mensaje, archivo adjunto) que sigue creando la conversación en atención al cliente. Sus formularios y sus datos se conservan y vuelven al renovar la licencia: el módulo se da cuenta de la renovación por sí mismo (vuelve a consultar el servidor de licencias como máximo una vez por hora) y cada vez que abre sus páginas en el back office. Un plazo de gracia de siete días evita una interrupción el día del vencimiento.


Resolución de problemas

La página de contacto muestra un formulario simple en lugar de mis formularios

Compruebe en este orden: la licencia (Configurar muestra su estado; un formulario simple es el comportamiento sin licencia activa); el formulario (¿está activado y pertenece a esta tienda?); el asunto (un formulario se sirve para el asunto al que pertenece); los grupos de clientes del formulario (un visitante no ve un formulario reservado a un grupo); el Diagnóstico al final de la página de ajustes.

La página de contacto no muestra nada

Puede que su tema no muestre lo que los módulos colocan en la zona de contacto. El Diagnóstico dice lo que hace su tema. En PrestaShop 1.7, el módulo sirve por sí mismo la plantilla de contacto del tema clásico; un tema hijo que reemplace la plantilla de contacto debe conservar la zona de contacto.

Mis correos no llegan

Compruebe los ajustes de correo de PrestaShop (Parámetros avanzados > Correo electrónico): el módulo pide a PrestaShop que envíe los mensajes, y el Diagnóstico le avisa cuando el envío está desactivado. Las solicitudes en sí se quedan en la atención al cliente y en la pestaña Solicitudes.

Se rechaza un archivo

La extensión debe estar entre los tipos aceptados, el archivo respetar el tamaño máximo y su contenido corresponder a su tipo cuando la extensión fileinfo está disponible. Los programas y las páginas web nunca se aceptan.

Se informa a un cliente de que ha enviado demasiadas solicitudes

Los límites por hora para una dirección y para un correo le protegen de los robots. Súbalos en Ajustes > Antispam si varios clientes reales comparten una dirección (una empresa, un colegio).

El captcha no aparece

Las dos claves (clave del sitio y clave secreta) deben estar guardadas, y su política de seguridad de contenido debe permitir al proveedor (Cloudflare Turnstile o Google reCAPTCHA).

He modificado el reemplazo de la versión 1.0.0

La actualización deja un reemplazo que usted modificó a mano y el Diagnóstico lo menciona. El módulo ya no lo necesita: compare sus cambios, borre después el archivo ContactController.php de la carpeta override/controllers/front/ y vacíe la caché.


Changelog

Versión 2.0.0

Novedades

  • Condiciones que funcionan: un campo solo se muestra cuando la respuesta a otro campo es una de las respuestas elegidas (o ninguna de ellas), cuando una casilla está marcada o cuando un texto coincide; el navegador y el servidor aplican las mismas reglas.
  • Nuevos tipos de campo: botones de opción, varias casillas y bloque de información, con un texto de ayuda y una ayuda bajo cada campo.
  • Comprobaciones de correo, dirección web, número de teléfono, número o su propio patrón, con un mensaje junto al campo; lo que el cliente escribió se conserva tras un error.
  • Un campo de archivo que funciona: usted elige los tipos, el tamaño y el número de archivos, y los archivos se guardan fuera de la carpeta pública de la tienda.
  • Enrutamiento de las solicitudes: una copia y una copia oculta por formulario, un destinatario elegido según la respuesta a una lista y un asunto de correo con variables.
  • Un acuse de recibo por formulario, en cada idioma, que nunca repite el mensaje libre del cliente.
  • Solicitudes conservadas en el back office, en una tabla con filtros, archivos descargables y exportación a CSV.
  • Borrado automático de las solicitudes tras el número de días que elija, y exportación y borrado mediante el módulo RGPD oficial.
  • La conversación de atención al cliente enlaza con la solicitud, y un cliente que responde desde su correo continúa la misma conversación.
  • Antispam por dirección y por correo, un tiempo mínimo para rellenar, un límite de enlaces y un Cloudflare Turnstile o Google reCAPTCHA opcional.
  • Un hook para desarrolladores, actionWeprestaDcfSubmitBefore, para aceptar o rechazar una solicitud antes de enviarla.
  • Un diagnóstico con un botón Copiar para el soporte y un modo de depuración.
  • El módulo funciona en PrestaShop 1.7.8, 8.0+ y 9.0+ con PHP 7.4 como mínimo, en un único archivo de unos 340 KB.
  • La administración está traducida al francés, inglés, español, italiano y polaco.

Mejoras

  • Un asunto sin formulario muestra un formulario simple (correo, mensaje, archivo adjunto) en lugar de nada, y un formulario desactivado devuelve su asunto al formulario simple.
  • Una tabla de los campos con la condición escrita como una frase, una ventana para editar un campo con una barra de idiomas, respuestas pegadas una por línea y un interruptor de estado en cada formulario.
  • Duplicar un formulario, exportarlo a un archivo JSON, importarlo (llega desactivado) y eliminar varios formularios a la vez.
  • Un formulario por asunto y por tienda en una instalación multitienda.
  • La página de contacto del tema clásico de PrestaShop 1.7 muestra el formulario sin ningún reemplazo de la tienda.
  • La página de contacto carga sus formularios en pocas consultas agrupadas, sea cual sea el número de campos.
  • El formulario de contacto nativo se vuelve a activar al desinstalar el módulo, y una instalación que falla no deja nada.
  • El archivo pasa de 28 MB a unos 340 KB.

Correcciones

  • La página de contacto ya no se queda sin ningún formulario cuando la licencia tiene un problema.
  • Las páginas de administración ya no fallan en PrestaShop 1.7 ni con PHP 7.
  • Las condiciones se pueden guardar y aplicar, y el interruptor Activo de un formulario funciona.
  • Un campo de archivo obligatorio ya no impide el envío, y un archivo ya no se pierde.
  • En PrestaShop 8, Eliminar la selección elimina los formularios marcados y ya no el primer formulario.
  • Los apóstrofos de las etiquetas ya no ganan una barra invertida en cada guardado, y un patrón como ^[0-9]{5}$ ya no rechaza todas las entradas.
  • Un token de seguridad caducado ya no encierra al cliente en un bucle, y un mensaje largo ya no acaba en una página de error.
  • Un empleado sin el derecho ya no puede modificar los formularios, y el orden de clasificación de las listas ya no se puede manipular.
  • Los mensajes mostrados a los clientes, la cabecera de la conversación y los asuntos de los correos están traducidos.

Después de la actualización: sus formularios y sus campos se conservan, los textos y patrones dañados por la versión 1.0.0 se reparan, las condiciones se convierten, el reemplazo instalado por la versión 1.0.0 se elimina (uno que haya modificado a mano se conserva y el Diagnóstico se lo indica) y las bibliotecas que traía se borran. Si los CSS y JavaScript del tema están combinados, vacíe la caché de PrestaShop.

Versión 1.0.0

  • Primera versión

Soporte

Para cualquier ayuda, contáctenos desde su área de cliente de WePresta o por correo en mail@wepresta.shop, según la opción de soporte de su plan.

Antes de escribirnos, prepare:

  • las versiones de PrestaShop y de PHP
  • el informe del Diagnóstico (botón Copiar para el soporte)
  • el tema utilizado
  • capturas de pantalla del formulario y del editor

Descubrir el módulo y sus planes

Cargando...