I'm able to add custom customer attribute called "passport".

It's working fine on Admin Side. So no issues.

For the frontend however it's not displaying on Registration page.

Below code already added InstallData.php

'used_in_forms' => ['adminhtml_customer', 'checkout_register', 'customer_account_create', 'customer_account_edit','adminhtml_checkout'],

So, for frontend, i have created Block - Widget for that Passport Field & Overriding Customer Registration Page. It's already pointing to New File.


public function _construct() {  



$_passport = $block->getLayout()->createBlock('Custom\CustomerAttribute\Block\Widget\Passport');
if ($_passport->isEnabled()):
    echo $_passport->setPassport($block->getFormData()->getPassport())->toHtml();

While running above code it's not calling <project path>\magento2\app\code\Custom\CustomerAttribute\view\frontend\templates\widget\passport.phtml file.

1 Answer 1


I got the answer & solution.


 * @return bool
public function isEnabled() {
    $attributeMetadata = $this->_getAttribute('passport');
    return $attributeMetadata ? (bool) $attributeMetadata->isVisible() : false;

Now it's displaying in frontend :)

  • have you created extension Custom/CustomerAttribute Commented Feb 15, 2017 at 5:14
  • @ankit - Can you plz share your Widget\Passport.php, actually I am doing same but don't know why getting error.
    – Atul
    Commented Feb 20, 2017 at 10:23
  • It's already mentioned in question magento.stackexchange.com/questions/88245/…
    – Jackson
    Commented Feb 21, 2017 at 1:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.