Magento 2: Mostrar captcha en el formulario de contacto

10

Utilizo el siguiente código en un bloque CMS para mostrar el formulario predeterminado de contacto de magento.

<p>{{block 
    class="Magento\Contact\Block\ContactForm"
    name="contactForm" 
    template="Magento_Contact::form.phtml"}}</p>

Me pregunto si habrá una forma central de habilitar captcha en el formulario.

Malaiselvan
fuente
magecomp.com/magento-2-google-recaptcha.html Darle una oportunidad
Gaurav Jain

Respuestas:

22

Para agregar CAPTHA a un formulario de contacto, debe ir a Tiendas -> Configuración -> Clientes -> Página de configuración de clientes y Habilitar CAPTCHA. Asegúrese de seleccionar el valor Contáctenos en el campo Formularios.

ingrese la descripción de la imagen aquí

Una vez que actualice la configuración, limpie la memoria caché.

Espero eso ayude.

Max Pronko
fuente
Creo que la pestaña de diseño es solo para la página y no para el bloque. También la pregunta que hice es cómo mostrar Captcha en el formulario de contacto, que no creo que responda direcciones que ...
Malaiselvan
@Malaiselvan, me perdí por completo el punto de la pregunta. Fue un día largo ayer. Déjame escribirte una respuesta.
Max Pronko
Gracias. Estás en lo correcto. Sin embargo, me di cuenta de que no necesito crear un bloque o una página para contactarnos. Todo lo que necesito hacer es habilitar Contáctenos desde Configuración y habilitar Catpcha para Contáctenos.
Malaiselvan
3
Supongamos que he creado un formulario personalizado y quiero agregarlo en la lista "Formularios", ¿cómo puedo administrar esto? Así que en mi forma personalizada Captcha también mostrará
Ankit Shah
Quiero usar captcha predeterminado en forma de boletín. Entonces, ¿qué tipo de cambios debo hacer?
Sarfaraj Sipai
3

Puede hacer una plantilla de formulario personalizada (basada en el original) y luego puede cargar el bloque reCaptcha mediante programación con esto:

<?php 
    echo $block->getLayout()
        ->createBlock('MSP\ReCaptcha\Block\Frontend\ReCaptcha',
            'msp-recaptcha',
            ['data' => 
                [
                    'jsLayout' => 
                    [
                        'components' => 
                        [
                            'msp-recaptcha' => 
                            [
                                'component' => 'MSP_ReCaptcha/js/reCaptcha',
                                'zone' => 'contact'
                            ]
                        ]
                    ]
                ]
            ]
        )
        ->setTemplate('MSP_ReCaptcha::msp_recaptcha.phtml')
        ->toHtml();
    ?>
Yann Charlou
fuente