Hello,
on the standard register-page customer/account/create/ everything works fine, msp_recaptcha is shown.
But: I need to show register-page in a modal, so i build my modal by using registerpage-block to get the content:
$this->getLayout()->createBlock("Magento\Customer\Block\Form\Register")->setTemplate("Magento_Customer::form/register.phtml")->toHtml();
There no recaptcha is shown
When i try to insert recaptcha also like a block with:
$this->getLayout()->createBlock("MSP\ReCaptcha\Block\Frontend\ReCaptcha")->setTemplate("MSP_ReCaptcha::msp_recaptcha.phtml")->toHtml();
Then only the "empty" recaptcha-DIV is shown:
<div class="field-recaptcha" id="msp-recaptcha-c4f8b6edf65ed298fb0a73-container" data-bind="scope:'msp-recaptcha-4f8b6edf65ed298fb0a73'"> <!-- ko template: getTemplate() --><!-- /ko --> </div>
Why is the recaptcha functionality not loaded correctly, when i use registerpage as block?
How can i achieve this?
Thank you
Hello? Nobody?
Everything functions as expected on the regular register page, customer/account/create/, and msp recaptcha is displayed.
I dont know why you write this?
Have you even read my post?
Its all about showing the registrationpage in a popup / modal, by including the registration as block!
But there no reCaptcha is shown and i asked, how i can make this work.
Of course everything works well on the normal page for registration, but i did not ask for that.
I found the solution by myself after days:
echo $this->getLayout() ->createBlock('MSP\ReCaptcha\Block\Frontend\ReCaptcha', 'msp-recaptcha', ['data' => [ 'jsLayout' => [ 'components' => [ 'msp-recaptcha' => [ 'component' => 'MSP_ReCaptcha/js/reCaptcha', 'reCaptchaId' => 'msp-recaptcha', 'zone' => 'create' ] ] ] ] ] ) ->setTemplate('MSP_ReCaptcha::msp_recaptcha.phtml') ->toHtml();