Magento 2: Captcha auf dem Kontaktformular anzeigen

10

Ich verwende den folgenden Code in einem CMS-Block, um das Standard-Magento-Kontaktformular anzuzeigen.

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

Sie fragen sich nur, ob es einen zentralen Weg gibt, Captcha in dem Formular zu aktivieren?

Malaiselvan
quelle

Antworten:

22

Um CAPTHA zu einem Kontaktformular hinzuzufügen, müssen Sie zu Stores -> Configuration -> Customers -> Customers Configuration gehen und CAPTCHA aktivieren. Stellen Sie sicher, dass Sie im Feld Formulare den Wert Kontakt auswählen.

Geben Sie hier die Bildbeschreibung ein

Bereinigen Sie den Cache, sobald Sie die Konfiguration aktualisiert haben.

Ich hoffe es hilft.

Max Pronko
quelle
Ich glaube, der Design-Tab ist nur für die Seite und nicht für den Block. Die Frage, die ich gestellt habe, ist auch, wie man Captcha auf dem Kontaktformular zeigt, von dem ich nicht glaube, dass Sie Adressen beantworten, die ...
Malaiselvan
@ Malaiselvan Ich habe den ganzen Punkt der Frage völlig verpasst. Es war gestern ein langer Tag. Lass mich dir eine Antwort schreiben.
Max Pronko
Vielen Dank. Du hast Recht. Mir wurde jedoch klar, dass ich keinen Block oder eine Seite erstellen muss, um mit uns in Kontakt zu treten. Ich muss lediglich Kontakt aus der Konfiguration aktivieren und Catpcha für Kontakt aktivieren.
Malaiselvan
3
Angenommen, ich habe ein benutzerdefiniertes Formular erstellt und möchte es in die Liste "Formulare" aufnehmen. Wie kann ich das dann verwalten? Also auf meinem benutzerdefinierten Formular wird auch Captcha angezeigt
Ankit Shah
Ich möchte Standard-Captcha in Newsletter-Form verwenden. Also, welche Art von Änderungen werde ich vornehmen?
Sarfaraj Sipai
3

Sie können eine benutzerdefinierte Formularvorlage (basierend auf dem Original) erstellen und anschließend den reCaptcha-Block programmgesteuert laden:

<?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
quelle