Cómo crear un atributo de imagen personalizado para un cliente en Magento 2

Estás leyendo la publicación: Cómo crear un atributo de imagen personalizado para un cliente en Magento 2

espacio de nombres [Vendor]\[module]\Configuración;

use Magento\Eav\Setup\EavSetupFactory;

use Magento\Customer\Setup\CustomerSetupFactory;

utilice Magento\Framework\Setup\InstallDataInterface;

use Magento\Framework\Setup\ModuleContextInterface;

use Magento\Framework\Setup\ModuleDataSetupInterface;

clase InstallData implementa InstallDataInterface

{

privado $eavSetupFactory;

privado $clienteSetupFactory;

función pública __construir(

EavSetupFactory $eavSetupFactory,

CustomerSetupFactory $customerSetupFactory

)

{

$this->eavSetupFactory = $eavSetupFactory;

$this->customerSetupFactory = $customerSetupFactory;

}

instalación de función pública (

ModuleDataSetupInterface $configuración,

MóduloContextInterfaz $contexto

) {

$configuración->iniciarConfiguración();

$eavSetup = $this->eavSetupFactory->create([‘setup’ => $setup]);

$customerSetup = $this->customerSetupFactory->create([‘setup’ => $setup]);

$attributeCode = ‘imagen_cliente’;

$configuracióndelcliente->addAttribute(

\Magento\Cliente\Modelo\Cliente::ENTIDAD,

$códigoatributo,

[

                ‘type’ => ‘text’,

                ‘label’ => ‘Customer File/Image’,

                ‘input’ => ‘file’,

                ‘source’ => ”,

                ‘required’ => false,

                ‘visible’ => true,

                ‘position’ => 200,

                ‘system’ => false,

                ‘backend’ => ”

            ]

);

// usó este atributo en las siguientes formas

$atributo = $configuracióncliente->getEavConfig()

->getAttribute(\Magento\Customer\Model\Customer::ENTITY, $attributeCode)

->agregar datos(

[‘used_in_forms’ => [

                    ‘adminhtml_customer’,

                    ‘adminhtml_checkout’,

                    ‘customer_account_create’,

                    ‘customer_account_edit’

                ]

🔥 Recomendado:  Más grande, mejor Brandwatch: CPO Bex Carson sobre el dolor, el cambio y el éxito

]);

$atributo->guardar();

$instalación->endSetup();

}

}