Magento 2: Показать капчу в форме обратной связи

10

Я использую приведенный ниже код в блоке CMS, чтобы показать стандартную форму для связи с нами.

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

Просто интересно, будет ли основной способ включить капчу в форме?

Malaiselvan
источник
magecomp.com/magento-2-google-recaptcha.html Попробуйте
Гаурав Джайн

Ответы:

22

Чтобы добавить CAPTHA в форму «Свяжитесь с нами», вам нужно перейти на страницу «Магазины -> Конфигурация -> Клиенты -> Клиенты» и включить CAPTCHA. Обязательно выберите значение «Свяжитесь с нами» в поле «Формы».

введите описание изображения здесь

После обновления конфигурации очистите кеш.

Надеюсь, поможет.

Макс Пронько
источник
Я считаю, что дизайн вкладки только для страницы, а не для блока. Также вопрос, который я задал, заключается в том, как показать капчу в форме для связи с нами, на которую я не верю, что вы отвечаете на адреса, которые ...
Malaiselvan
@Malaiselvan Я полностью пропустил весь вопрос. Это был длинный день вчера. Позвольте мне написать вам ответ.
Макс Пронько
Спасибо. Ты прав. Однако я понял, что мне не нужно создавать блок или страницу, чтобы связаться с нами. Все, что мне нужно сделать, это включить «Связаться с нами» из конфигурации и включить Catpcha для «Свяжитесь с нами».
Малайзельван
3
Предположим, я создал пользовательскую форму и хочу добавить ее в список «Формы», тогда как мне это сделать? Так что в моей пользовательской форме также будет отображаться капча
Анкит Шах
Я хочу использовать капчу по умолчанию в форме рассылки. Итак, какие изменения я должен сделать?
Сарфарадж Сипай
3

Вы можете создать собственный шаблон формы (на основе оригинала), а затем программно загрузить блок reCaptcha с помощью этого:

<?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();
    ?>
Ян Шарлоу
источник