在cms页上显示Magento 2 MageSpecialist reCAPTCHA模块

时间:2018-09-28 09:16:46

标签: magento magento2

我已经在Magento 2网上商店中安装了MageSpecialist reCAPTCHA模块。

该模块在默认的联系表单上运行正常,但是reCAPTCHA不在自定义cms页面上呈现。

这是我在自定义cms页面上显示联系表单的方式:

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

我试图将模块contact_index_index的布局部分的代码段添加到cms页面的Layout Update XML。

<referenceContainer name="form.additional.info">
            <block class="MSP\ReCaptcha\Block\Frontend\ReCaptcha" name="msp-recaptcha" after="-" template="MSP_ReCaptcha::msp_recaptcha.phtml">
                <arguments>
                    <argument name="jsLayout" xsi:type="array">
                        <item name="components" xsi:type="array">
                            <item name="msp-recaptcha" xsi:type="array">
                                <item name="component" xsi:type="string">MSP_ReCaptcha/js/reCaptcha</item>
                                <item name="zone" xsi:type="string">contact</item>
                            </item>
                        </item>
                    </argument>
                </arguments>
            </block>
        </referenceContainer>

这对尝试在自定义cms页面上呈现reCAPTCHA也没有帮助。

有没有人可以帮助我解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用以下代码,我能够在CMS页面中添加“与我们联系”表单以及表单上的MSP reCaptcha,在“管理>内容>页面> [CMS页面]>添加/编辑>设计>中添加以下代码”布局更新XML:

<referenceContainer name="content">
<block class="Magento\Contact\Block\ContactForm" name="contactForm" template="Magento_Contact::form.phtml">
<container name="form.additional.info" label="Form Additional Info"/>
</block>
</referenceContainer>
<referenceContainer name="form.additional.info">
        <block class="MSP\ReCaptcha\Block\Frontend\ReCaptcha" name="msp-recaptcha" after="-"
               template="MSP_ReCaptcha::msp_recaptcha.phtml">

            <arguments>
                <argument name="jsLayout" xsi:type="array">
                    <item name="components" xsi:type="array">
                        <item name="msp-recaptcha" xsi:type="array">
                            <item name="component" xsi:type="string">MSP_ReCaptcha/js/reCaptcha</item>
                            <item name="zone" xsi:type="string">contact</item>
                        </item>
                    </item>
                </argument>
            </arguments>
        </block>
    </referenceContainer>