Desactivar el formulario de contacto en Prestashop

Si queremos desactivar el formulario de contacto, tenemos distintas posibilidades, en este artículo vamos a tratar “2”, una consistirá en crear un override del controlador del formulario de contacto y otra se encuentra basada en un módulo. Este “manual” se encuentra basado en Prestashop 1.6.

Fuente: https://stackoverflow.com/questions/38916902/prestashop-disable-contact-form

  • 1º – Crear un módulo para cuando accedemos al formulario de contacto redireccione a la página 404 de nuestra tienda o a otra sección distinta de la tienda.
    Código módulo

    El módulo queda instalado en el hook -> actionDispatcher

    Dentro de la función del hook -> actionDispatcher que definimos en el módulo comprobamos si el controlador es correspondiente al del formulario de contacto, si la condición es cumplida redireccionamos la página del formulario de contacto. En este ejemplo nos lleva a la página 404.

    Descargar módulo aquí:  Descargar

  • 2º – Crear un override del controlador /controllers/front/ContactController.php, recordamos que el override se guarda en el directorio: /override/controllers/front/
    Nombre del Override: ContactController.php

    Override del controlador del formulario de contacto

    Fijaros que en el condicional, lo que hace cuando pulsamos el botón enviar del formulario de contacto es pararlo todo y en caso contrario llamamos a la función postProcess de la clase padre.

    Eliminar fichero: /cache/class_index.php para que Prestashop nos detecte el nuevo override.

    Se ha detenido la acción de pulsar el botón “Enviar” del formulario de contacto, pero el formulario sigue visualizándose, lo que puede conllevar una confusión a los clientes que visiten tu tienda.

    El siguiente paso es editar el fichero: /themes/default-bootstrap/contact-form.tpl comentando la visualización del formulario de contacto.

    Por ejemplo, puedes comentar el contenido (comentar código en Smarty) después (a partir) de la siguiente línea:
    {capture name=path}{l s=’Contact’}{/capture}

    De esta forma veremos el formulario de contacto, pero sin contenido:

    Formulario de contacto sin contenido en Prestashop

    Y luego personalizar el TPL a vuestro gusto añadiendo una nueva estructura.

    Si tras modificar el TPL no apreciamos los cambios, recordar limpiar la cache de Prestashop en la pestaña Parámetros Avanzados -> Rendimiento.

    Descargar el override del controlador: Descargar
    Descargar fichero TPL modificadoDescargar

PosData: Se han indicado “2” posibilidades a la hora de intentar desactivar el formulario de contacto, existen más opciones y se puede hacer de diferente forma.

Documento construido bajo Prestashop 1.6.1.18 bajo la plantilla por defecto.

6 comentarios sobre “Desactivar el formulario de contacto en Prestashop”

  1. Hola Víctor.
    Enhorabuena por el blog.

    Pregunta rápida: ¿Dónde configuro la tienda para que aparezca/desaparezca el botón del formulario de contacto?
    Actualmente no aparece ningún acceso al formulario, ni botón ni CMS… No sé como sacar el maldito formulario de contacto!

    Seguro que es una tontería, pero no consigo encontrar la solución…

    Un saludo.

    1. Por lo que entiendo, comentas que no te aparece ningún botón en tu tienda para acceder al formulario de contacto en la tienda y quieres añadirlo en alguna parte para que los usuarios de tu tienda pinchen ¿no?

      Entiendo que por “url” del navegador puedes acceder sin problema, es decir:

      tuweb.com/es/contactanos

      ¿Puedes acceder al formulario de contacto? ¿no?

      Suponiendo que esa sea la url amigable del formulario de contacto para el formulario de contacto en tu tienda, que puedes revisar en la pestaña Preferencias -> SEO y URLS (En la 1.7 Parámetros Avanzados -> Trafico & SEO y URLS) -> Página contacto

      d

      El enlace del formulario de contacto lo puedes añadir en el menú horizontal de Prestashop. Desde la pestaña módulos -> módulos puedes acceder a la configuración del menú horizontal y añadir el enlace hacia el formulario de contacto.

      Revisa guía de configuración del menú horizontal: https://victor-rodenas.com/2017/04/11/menu-horizontal-de-prestashop-1-7/

      Por otro lado:

      Tanto en PS 1.6 como en PS 1.7 tienes un enlace en la cabecera (que normalmente si usas todo por defecto deberías tener)

      d

      Que corresponde al módulo: “Bloque de contacto” (blockcontact) en PS 1.6 en la parte displayNav e Información de contacto (ps_contactinfo) en PS 1.7 (hasta 1.7.2.4) en la parte displayNav1

      O eso o la plantilla que usas tiene una sobreescritura del módulo que no añade el enlace.

      Por ejemplo, en Prestashop 1.7 con la plantilla por defecto en el fichero:

      /themes/classic/modules/ps_contactinfo/nav.tpl viene en el código incluido:


      Y en Prestashop 1.6 con la plantilla por defecto en el fichero:

      /themes/default-bootstrap/modules/blockcontact/nav.tpl




      Saludos,

  2. Hola Víctor, muchas gracias por responder tan rápido.
    Faltaban datos en mi consulta.
    Mi prestashop es la 1.6, si, el enlace funciona (/es/contactenos).
    Tengo una plantilla hecha a medida, he abierto el documento themes/default-bootstrap/modules/blockcontact/nav.tpl y lo tengo igual que en tu captura.
    Yo lo que quiero es poner un enlace en el pie, o en alguno de los banners que tengo en la tienda para que me abra ese cuestionario.
    Y lo perfecto sería poder duplicarlo y usar varios para varias secciones de la tienda… pero eso ya será más complicado…

    Un saludo y gracias de nuevo.

    1. Un enlace puedes añadirlo en cualquier posición.

      Si adjuntas pantallazo de la zona exacta, te digo como añadirlo en esa zona.

  3. Hola Victor, Gracias por tu genial soporte en la comunidad Prestashop.
    Respecto a desactivar el formulario, he comentado con { * y * } el formulario. Este desaparece de la página de Contacto pero veo que me sigue llegando spam de los robots rusos 🙁

    Mi versión es Prestashop 1.6.1.11 mi tienda funciona todo bien, pero quiero eliminar el formulario y que no lleguen mas spam. que puedo hacer?, ya que comente el formulario (desaparecio) y se supone que no debería seguir llegando spam. o debo cambiar el Correo electrónico que tengo para los correos en prestashop configurado?

    Otra duda, como puedo actualizar mi web a una versión algo más nueva de Prestashop 1.6, ya que mi plantilla no es compatible con la 1.7 y tampoco me gusta mucho esa versión de momento.

    Muchas gracias

    1. Respecto al spam del formulario de contacto, revisa estos dos posts:

      https://victor-rodenas.com/2018/02/21/se-estan-colando-rusos-o-chinos-por-el-formulario-de-contacto-en-prestashop/

      https://victor-rodenas.com/2018/01/18/captcha-para-prestashop-1-7/


      Respecto a actualizar, mi recomendación es que actualices a la rama más actual de la 1.6, por ahora te sigo sin recomendar todavía por la 1.7

      Tienes el módulo 1 Click upgrade (https://addons.prestashop.com/es/migracion-copias-de-seguridad/5496-.html) que lleva Prestashop que te sirve para actualizar la tienda de versión a otra.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *