Last active
November 30, 2018 15:50
-
-
Save magevision/e7273b4b1067a793c05b7f8022e83891 to your computer and use it in GitHub Desktop.
ShowAddressfieldsonCustomerRegistration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> | |
<body> | |
<referenceBlock name="customer_form_register"> | |
<action method="setShowAddressFields"> | |
<argument name="show.address.fields" xsi:type="boolean">true</argument> | |
</action> | |
</referenceBlock> | |
</body> | |
</page> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?= $block->getChildHtml('form_fields_before') ?> | |
<?php /* Extensions placeholder */ ?> | |
<?= $block->getChildHtml('customer.form.register.extra') ?> | |
<form class="form create account form-create-account" action="<?= $block->escapeUrl($block->getPostActionUrl()) ?>" method="post" id="form-validate" enctype="multipart/form-data" autocomplete="off"> | |
<?= /* @noEscape */ $block->getBlockHtml('formkey'); ?> | |
<fieldset class="fieldset create info"> | |
<legend class="legend"><span><?= $block->escapeHtml(__('Personal Information')) ?></span></legend><br> | |
<input type="hidden" name="success_url" value="<?= $block->escapeUrl($block->getSuccessUrl()) ?>"> | |
<input type="hidden" name="error_url" value="<?= $block->escapeUrl($block->getErrorUrl()) ?>"> | |
<?= $block->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($block->getFormData())->setForceUseCustomerAttributes(true)->toHtml() ?> | |
<?php if ($block->isNewsletterEnabled()): ?> | |
<div class="field choice newsletter"> | |
<input type="checkbox" name="is_subscribed" title="<?= $block->escapeHtmlAttr(__('Sign Up for Newsletter')) ?>" value="1" id="is_subscribed"<?php if ($block->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox"> | |
<label for="is_subscribed" class="label"><span><?= $block->escapeHtml(__('Sign Up for Newsletter')) ?></span></label> | |
</div> | |
<?php /* Extensions placeholder */ ?> | |
<?= $block->getChildHtml('customer.form.register.newsletter') ?> | |
<?php endif ?> | |
<?php $_dob = $block->getLayout()->createBlock('Magento\Customer\Block\Widget\Dob') ?> | |
<?php if ($_dob->isEnabled()): ?> | |
<?= $_dob->setDate($block->getFormData()->getDob())->toHtml() ?> | |
<?php endif ?> | |
<?php $_taxvat = $block->getLayout()->createBlock('Magento\Customer\Block\Widget\Taxvat') ?> | |
<?php if ($_taxvat->isEnabled()): ?> | |
<?= $_taxvat->setTaxvat($block->getFormData()->getTaxvat())->toHtml() ?> | |
<?php endif ?> | |
<?php $_gender = $block->getLayout()->createBlock('Magento\Customer\Block\Widget\Gender') ?> | |
<?php if ($_gender->isEnabled()): ?> | |
<?= $_gender->setGender($block->getFormData()->getGender())->toHtml() ?> | |
<?php endif ?> | |
</fieldset> | |
<?php if ($block->getShowAddressFields()): ?> | |
<fieldset class="fieldset address"> | |
<legend class="legend"><span><?= $block->escapeHtml(__('Address Information')) ?></span></legend><br> | |
<input type="hidden" name="create_address" value="1" /> | |
<?php $_company = $block->getLayout()->createBlock('Magento\Customer\Block\Widget\Company') ?> | |
<?php if ($_company->isEnabled()): ?> | |
<?= $_company->setCompany($block->getFormData()->getCompany())->toHtml() ?> | |
<?php endif ?> | |
<?php $_telephone = $block->getLayout()->createBlock('Magento\Customer\Block\Widget\Telephone') ?> | |
<?php if ($_telephone->isEnabled()): ?> | |
<?= $_telephone->setTelephone($block->getFormData()->getTelephone())->toHtml() ?> | |
<?php endif ?> | |
<?php $_fax = $block->getLayout()->createBlock('Magento\Customer\Block\Widget\Fax') ?> | |
<?php if ($_fax->isEnabled()): ?> | |
<?= $_fax->setFax($block->getFormData()->getFax())->toHtml() ?> | |
<?php endif ?> | |
<?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?> | |
<div class="field street required"> | |
<label for="street_1" class="label"><span><?= /* @noEscape */ $block->getAttributeData()->getFrontendLabel('street') ?></span></label> | |
<div class="control"> | |
<input type="text" name="street[]" value="<?= $block->escapeHtmlAttr($block->getFormData()->getStreet(0)) ?>" title="<?= /* @noEscape */ $block->getAttributeData()->getFrontendLabel('street') ?>" id="street_1" class="input-text <?= $block->escapeHtmlAttr($_streetValidationClass) ?>"> | |
<div class="nested"> | |
<?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?> | |
<?php for ($_i = 2, $_n = $this->helper('Magento\Customer\Helper\Address')->getStreetLines(); $_i <= $_n; $_i++): ?> | |
<div class="field additional"> | |
<label class="label" for="street_<?= /* @noEscape */ $_i ?>"> | |
<span><?= $block->escapeHtml(__('Address')) ?></span> | |
</label> | |
<div class="control"> | |
<input type="text" name="street[]" value="<?= $block->escapeHtml($block->getFormData()->getStreetLine($_i - 1)) ?>" title="<?= $block->escapeHtmlAttr(__('Street Address %1', $_i)) ?>" id="street_<?= /* @noEscape */ $_i ?>" class="input-text <?= $block->escapeHtmlAttr($_streetValidationClass) ?>"> | |
</div> | |
</div> | |
<?php endfor; ?> | |
</div> | |
</div> | |
</div> | |
<div class="field required"> | |
<label for="city" class="label"><span><?= /* @noEscape */ $block->getAttributeData()->getFrontendLabel('city') ?></span></label> | |
<div class="control"> | |
<input type="text" name="city" value="<?= $block->escapeHtmlAttr($block->getFormData()->getCity()) ?>" title="<?= /* @noEscape */ $block->getAttributeData()->getFrontendLabel('city') ?>" class="input-text <?= $block->escapeHtmlAttr($this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('city')) ?>" id="city"> | |
</div> | |
</div> | |
<div class="field region required"> | |
<label for="region_id" class="label"><span><?= /* @noEscape */ $block->getAttributeData()->getFrontendLabel('region') ?></span></label> | |
<div class="control"> | |
<select id="region_id" name="region_id" title="<?= /* @noEscape */ $block->getAttributeData()->getFrontendLabel('region') ?>" class="validate-select" style="display:none;"> | |
<option value=""><?= $block->escapeHtml(__('Please select a region, state or province.')) ?></option> | |
</select> | |
<input type="text" id="region" name="region" value="<?= $block->escapeHtml($block->getRegion()) ?>" title="<?= /* @noEscape */ $block->getAttributeData()->getFrontendLabel('region') ?>" class="input-text <?= $block->escapeHtmlAttr($this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region')) ?>" style="display:none;"> | |
</div> | |
</div> | |
<div class="field zip required"> | |
<label for="zip" class="label"><span><?= /* @noEscape */ $block->getAttributeData()->getFrontendLabel('postcode') ?></span></label> | |
<div class="control"> | |
<input type="text" name="postcode" value="<?= $block->escapeHtmlAttr($block->getFormData()->getPostcode()) ?>" title="<?= /* @noEscape */ $block->getAttributeData()->getFrontendLabel('postcode') ?>" id="zip" class="input-text validate-zip-international <?= $block->escapeHtmlAttr($this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('postcode')) ?>"> | |
</div> | |
</div> | |
<div class="field country required"> | |
<label for="country" class="label"><span><?= /* @noEscape */ $block->getAttributeData()->getFrontendLabel('country_id') ?></span></label> | |
<div class="control"> | |
<?= $block->getCountryHtmlSelect() ?> | |
</div> | |
</div> | |
<?php $addressAttributes = $block->getChildBlock('customer_form_address_user_attributes');?> | |
<?php if ($addressAttributes): ?> | |
<?php $addressAttributes->setEntityType('customer_address'); ?> | |
<?php $addressAttributes->setFieldIdFormat('address:%1$s')->setFieldNameFormat('address[%1$s]');?> | |
<?php $block->restoreSessionData($addressAttributes->getMetadataForm(), 'address');?> | |
<?= $addressAttributes->setShowContainer(false)->toHtml() ?> | |
<?php endif;?> | |
<input type="hidden" name="default_billing" value="1"> | |
<input type="hidden" name="default_shipping" value="1"> | |
</fieldset> | |
<?php endif; ?> | |
<fieldset class="fieldset create account" data-hasrequired="<?= $block->escapeHtmlAttr(__('* Required Fields')) ?>"> | |
<legend class="legend"><span><?= $block->escapeHtml(__('Sign-in Information')) ?></span></legend><br> | |
<div class="field required"> | |
<label for="email_address" class="label"><span><?= $block->escapeHtml(__('Email')) ?></span></label> | |
<div class="control"> | |
<input type="email" name="email" autocomplete="email" id="email_address" value="<?= $block->escapeHtmlAttr($block->getFormData()->getEmail()) ?>" title="<?= $block->escapeHtmlAttr(__('Email')) ?>" data-mage-init='{"mage/trim-input":{}}' class="input-text" data-validate="{required:true, 'validate-email':true}"> | |
</div> | |
</div> | |
<div class="field password required"> | |
<label for="password" class="label"><span><?= $block->escapeHtml(__('Password')) ?></span></label> | |
<div class="control"> | |
<input type="password" name="password" id="password" | |
title="<?= $block->escapeHtmlAttr(__('Password')) ?>" | |
class="input-text" | |
data-password-min-length="<?= $block->escapeHtmlAttr($block->getMinimumPasswordLength()) ?>" | |
data-password-min-character-sets="<?= $block->escapeHtmlAttr($block->getRequiredCharacterClassesNumber()) ?>" | |
data-validate="{required:true, 'validate-customer-password':true}" | |
autocomplete="off"> | |
<div id="password-strength-meter-container" data-role="password-strength-meter" aria-live="polite"> | |
<div id="password-strength-meter" class="password-strength-meter"> | |
<?= $block->escapeHtml(__('Password Strength')) ?>: | |
<span id="password-strength-meter-label" data-role="password-strength-meter-label"> | |
<?= $block->escapeHtml(__('No Password')) ?> | |
</span> | |
</div> | |
</div> | |
</div> | |
</div> | |
<div class="field confirmation required"> | |
<label for="password-confirmation" class="label"><span><?= $block->escapeHtml(__('Confirm Password')) ?></span></label> | |
<div class="control"> | |
<input type="password" name="password_confirmation" title="<?= $block->escapeHtmlAttr(__('Confirm Password')) ?>" id="password-confirmation" class="input-text" data-validate="{required:true, equalTo:'#password'}" autocomplete="off"> | |
</div> | |
</div> | |
<?= $block->getChildHtml('form_additional_info') ?> | |
</fieldset> | |
<div class="actions-toolbar"> | |
<div class="primary"> | |
<button type="submit" class="action submit primary" title="<?= $block->escapeHtmlAttr(__('Create an Account')) ?>"><span><?= $block->escapeHtml(__('Create an Account')) ?></span></button> | |
</div> | |
<div class="secondary"> | |
<a class="action back" href="<?= $block->escapeUrl($block->getBackUrl()) ?>"><span><?= $block->escapeHtml(__('Back')) ?></span></a> | |
</div> | |
</div> | |
</form> | |
<script> | |
require([ | |
'jquery', | |
'mage/mage' | |
], function($){ | |
var dataForm = $('#form-validate'); | |
var ignore = <?= /* @noEscape */ $_dob->isEnabled() ? '\'input[id$="full"]\'' : 'null' ?>; | |
dataForm.mage('validation', { | |
<?php if ($_dob->isEnabled()): ?> | |
errorPlacement: function(error, element) { | |
if (element.prop('id').search('full') !== -1) { | |
var dobElement = $(element).parents('.customer-dob'), | |
errorClass = error.prop('class'); | |
error.insertAfter(element.parent()); | |
dobElement.find('.validate-custom').addClass(errorClass) | |
.after('<div class="' + errorClass + '"></div>'); | |
} | |
else { | |
error.insertAfter(element); | |
} | |
}, | |
ignore: ':hidden:not(' + ignore + ')' | |
<?php else: ?> | |
ignore: ignore ? ':hidden:not(' + ignore + ')' : ':hidden' | |
<?php endif ?> | |
}).find('input:text').attr('autocomplete', 'off'); | |
}); | |
</script> | |
<?php if ($block->getShowAddressFields()): ?> | |
<script type="text/x-magento-init"> | |
{ | |
"#country": { | |
"regionUpdater": { | |
"optionalRegionAllowed": <?= /* @noEscape */ $block->getConfig('general/region/display_all') ? 'true' : 'false' ?>, | |
"regionListId": "#region_id", | |
"regionInputId": "#region", | |
"postcodeId": "#zip", | |
"form": "#form-validate", | |
"regionJson": <?= /* @noEscape */ $this->helper(\Magento\Directory\Helper\Data::class)->getRegionJson() ?>, | |
"defaultRegion": "<?= (int) $block->getFormData()->getRegionId() ?>", | |
"countriesWithOptionalZip": <?= /* @noEscape */ $this->helper(\Magento\Directory\Helper\Data::class)->getCountriesWithOptionalZip(true) ?> | |
} | |
} | |
} | |
</script> | |
<?php endif; ?> | |
<script type="text/x-magento-init"> | |
{ | |
".field.password": { | |
"passwordStrengthIndicator": { | |
"formSelector": "form.form-create-account" | |
} | |
} | |
} | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment