Magento 2: Afficher le captcha au formulaire de contact

10

J'utilise le code ci-dessous dans un bloc CMS pour afficher le formulaire de contact par défaut de magento.

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

Vous vous demandez simplement s'il existe un moyen essentiel d'activer le captcha dans le formulaire?

Malaiselvan
la source

Réponses:

22

Pour ajouter CAPTHA à un formulaire Contactez-nous, vous devez accéder à la page Magasins -> Configuration -> Clients -> Configuration des clients et activer CAPTCHA. Assurez-vous de sélectionner la valeur Contactez-nous dans le champ Formulaires.

entrez la description de l'image ici

Une fois la configuration mise à jour, nettoyez le cache.

J'espère que cela aide.

Max Pronko
la source
Je crois que l'onglet de conception est uniquement pour la page et non pour le bloc. Aussi la question que j'ai posée est de savoir comment montrer Captcha sur le formulaire Contactez-nous auquel je ne crois pas que vous
répondiez
@Malaiselvan j'ai complètement raté tout le point de la question. La journée a été longue hier. Permettez-moi de vous écrire une réponse.
Max Pronko
Merci. Vous avez raison. Cependant j'ai réalisé que je n'avais pas besoin de créer un bloc ou une page pour nous contacter. Tout ce que je dois faire est d'activer Contactez-nous à partir de la configuration et activez Catpcha pour nous contacter.
Malaiselvan
3
Supposons que j'ai créé un formulaire personnalisé et que je souhaite l'ajouter dans la liste "Formulaires", comment puis-je gérer cela?. Donc, sur mon formulaire personnalisé, captcha s'affichera également
Ankit Shah
Je souhaite utiliser le captcha par défaut sous forme de newsletter. alors quel genre de changements dois-je faire?
Sarfaraj Sipai
3

Vous pouvez créer un modèle de formulaire personnalisé (basé sur l'original), puis vous pouvez charger par programme le bloc reCaptcha avec ceci:

<?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
la source