我已经在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也没有帮助。
有没有人可以帮助我解决这个问题?
答案 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>