1

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.

\magento2\app\code\Custom\CustomerAttribute\Block\Widget\Passport.php

public function _construct() {  
    parent::_construct();             

$this->setTemplate('Custom_CustomerAttribute::widget/passport.phtml'); 
 }

\magento2\app\code\Custom\CustomerAttribute\view\frontend\templates\form\register.phtml

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

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

1

I got the answer & solution.

\magento2\app\code\Custom\CustomerAttribute\Block\Widget\Passport.php

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

Now it's displaying in frontend :)

3
  • have you created extension Custom/CustomerAttribute 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
    Feb 20, 2017 at 10:23
  • It's already mentioned in question magento.stackexchange.com/questions/88245/…
    – Jackson
    Feb 21, 2017 at 1:20

Your Answer

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

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