Hi,
I successfully added attribute "fiscalcode" to the customers, which is correctly saved on registration form and showing in admin. But if I log in and go to /customer/account/edit/ I cannot see the saved value: I expected to use:
$block->escapeHtml($block->getObject()->getFiscalcode())
but I get:
Uncaught Error: Call to undefined method Magento\Customer\Model\Data\Customer::getFiscalcode()
how to solve this?
Thanks a lot
Hi,
in my custom module this is my InstallData.php:
<?php namespace Hoop\Fiscalcode\Setup; use Magento\Customer\Api\AddressMetadataInterface; use Magento\Eav\Setup\EavSetup; use Magento\Framework\Setup\InstallDataInterface; use Magento\Framework\Setup\ModuleContextInterface; use Magento\Framework\Setup\ModuleDataSetupInterface; use Magento\Eav\Model\Config; /** * Class InstallData * @package Hoop\Fiscalcode\Setup */ class InstallData implements InstallDataInterface { /** * Attribute Code of the Custom Attribute */ const CUSTOM_ATTRIBUTE_CODE = 'fiscalcode'; /** * @var EavSetup */ private $eavSetup; /** * @var Config */ private $eavConfig; /** * InstallData constructor. * @param EavSetup $eavSetup * @param Config $config */ public function __construct( EavSetup $eavSetup, Config $config ) { $this->eavSetup = $eavSetup; $this->eavConfig = $config; } public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); $this->eavSetup->addAttribute( AddressMetadataInterface::ENTITY_TYPE_ADDRESS, self::CUSTOM_ATTRIBUTE_CODE, [ 'type' => 'varchar', 'label' => 'Codice fiscale', 'input' => 'text', 'default' => '', 'sort_order' => 100, 'system' => false, 'required' => false, 'position' => 100, 'visible' => true, 'is_used_in_grid' => false, 'is_visible_in_grid' => false, 'is_filterable_in_grid' => false, 'is_searchable_in_grid' => false, 'backend' => '' ] ); $customAttribute = $this->eavConfig->getAttribute( AddressMetadataInterface::ENTITY_TYPE_ADDRESS, self::CUSTOM_ATTRIBUTE_CODE ); $customAttribute->setData( 'used_in_forms', ['adminhtml_customer_address', 'customer_address_edit', 'customer_register_address'] ); $customAttribute->save(); $setup->endSetup(); } }
thanks