Qual é o benefício de injetar em CustomerSetupFactoryvez de injetar diretamente CustomerSetup? Obrigado por explicar.
Vinai
@Vinai, Looks parece que a classe customerSetup espera ModuleDataSetupInterface no construtor, mas essa classe é argumento do método de instalação.
KAndy
Como ModuleDataSetupInterfacenão existe um estado específico para a classe de configuração, não seria melhor deixar o ObjectManager responsável por criar as dependências da instância? Dessa forma, o CustomerSetupcliente estaria menos acoplado à implementação. Tanto quanto eu posso ver.
Vinai
A remoção do módulo não remove o atributo, como deve ser removido então?
DevonDahon
Como podemos adicionar mais de um campo ou atributos?
Jai7
1
No seu módulo, implemente este arquivo abaixo que criará uma nova entidade do Cliente .
@Rafael Corrêa Gomes, é possível criar vários atributos usando esse método? Quão?
Pragman 18/02
@ZUBU, você só precisa adicionar um novo $ customerSetup-> addAttribute ao lado do primeiro, pode procurar -> addAttribute no núcleo também para ver as referências.
Respostas:
No artigo Magento 2: Como tornar o atributo do cliente? descreva passo a passo.
A parte principal é o
DataInstall::install
método abaixo:fonte
CustomerSetupFactory
vez de injetar diretamenteCustomerSetup
? Obrigado por explicar.ModuleDataSetupInterface
não existe um estado específico para a classe de configuração, não seria melhor deixar o ObjectManager responsável por criar as dependências da instância? Dessa forma, oCustomerSetup
cliente estaria menos acoplado à implementação. Tanto quanto eu posso ver.No seu módulo, implemente este arquivo abaixo que criará uma nova entidade do Cliente .
Test \ CustomAttribute \ Setup \ InstallData.php
fonte