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’
]
]);
$atributo->guardar();
$instalación->endSetup();
}
}