1. Previous articles:
2. How to
You can add a custom block to the frontend customer registration form by placing your block inside the form_additional_info
container.
The form_additional_info
container’s contents is rendered by Magento automatically:
3. Examples from built-in Magento modules
3.1. The «Remember Me» checkbox (the Magento_Persistent module)
3.2. CAPTCHA
$captcha = $block->getCaptchaModel();
?>
<div class="field captcha required" role="<?= $block->escapeHtmlAttr($block->getFormId()) ?>">
<label for="captcha_<?= $block->escapeHtmlAttr($block->getFormId()) ?>" class="label"><span><?= $block->escapeHtml(__('Please type the letters and numbers below')) ?></span></label>
<div class="control captcha">
<input name="<?= $block->escapeHtmlAttr(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE) ?>[<?= $block->escapeHtmlAttr($block->getFormId()) ?>]" type="text" class="input-text required-entry" data-validate="{required:true}" id="captcha_<?= $block->escapeHtmlAttr($block->getFormId()) ?>" autocomplete="off"/>
<div class="nested">
<div class="field captcha no-label"
data-captcha="<?= $block->escapeHtmlAttr($block->getFormId()) ?>"
id="captcha-container-<?= $block->escapeHtmlAttr($block->getFormId()) ?>"
data-mage-init='{"captcha":{"url": "<?= $block->escapeUrl($block->getRefreshUrl()) ?>",
"imageLoader": "<?= $block->escapeUrl($block->getViewFileUrl('images/loader-2.gif')) ?>",
"type": "<?= $block->escapeHtmlAttr($block->getFormId()) ?>"}}'>
<div class="control captcha-image">
<img alt="<?= $block->escapeHtmlAttr(__('Please type the letters and numbers below')) ?>" class="captcha-img" height="<?= /* @noEscape */ (float) $block->getImgHeight() ?>" src="<?= $block->escapeUrl($captcha->getImgSrc()) ?>"/>
<button type="button" class="action reload captcha-reload" title="<?= $block->escapeHtmlAttr(__('Reload captcha')) ?>"><span><?= $block->escapeHtml(__('Reload captcha')) ?></span></button>
</div>
</div>
<?php if ($captcha->isCaseSensitive()) :?>
<div class="captcha-note note">
<?= $block->escapeHtml(__('<strong>Attention</strong>: Captcha is case sensitive.'), ['strong']) ?>
</div>
<?php endif; ?>
</div>
</div>
</div>