要在 Magento 2 系统中创建新的客户,你可以从 Magento 2 商店后台向注册表单中填写完整的信息。但是,如果要想创建来自不同地址(城市,州/省,国家/地区)的大量新客户并且同时还要将这些信息发送到不同的客户组,这将非常耗时。因此,将这篇主题为 《Magento 2 以编程方式创建客户》的教程提供给开发人员,并且可以直接使用以下代码。
以编程方式创建客户概览
-
运行代码段
-
总结
运行代码段
下面的代码段就是你全部要做的工作,当您要以编程方式创建客户时,请将其插入到控制台。
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$customerSetupFactory = $objectManager->create('Magento\Customer\Setup\CustomerSetupFactory');
$setupInterface = $objectManager->create('Magento\Framework\Setup\ModuleDataSetupInterface');
$customerSetup = $customerSetupFactory->create(['setup' => $setupInterface]);
$customerEntity = $customerSetup->getEavConfig()->getEntityType('customer');
$attributeSetId = $customerEntity->getDefaultAttributeSetId();
$attributeSetFactory = $objectManager->create('Magento\Eav\Model\Entity\Attribute\SetFactory');
/** @var $attributeSet AttributeSet */
$attributeSet = $attributeSetFactory->create();
$attributeGroupId = $attributeSet->getDefaultGroupId($attributeSetId);
$customerSetup->addAttribute(\Magento\Customer\Model\Customer::ENTITY, 'attribute_code', [
'type' => 'varchar',
'label' => 'Attribute Title',
'input' => 'text',
'required' => false,
'visible' => true,
'user_defined' => true,
'sort_order' => 1000,
'position' => 1000,
'system' => 0,
]);
//add attribute to attribute set
$attribute = $customerSetup->getEavConfig()->getAttribute(\Magento\Customer\Model\Customer::ENTITY, 'attribute_code')
->addData([
'attribute_set_id' => $attributeSetId,
'attribute_group_id' => $attributeGroupId,
'used_in_forms' => ['adminhtml_customer'],
]);
$attribute->save();
总结
根据这段代码的介绍,我相信用编程的方式创建新客户会让你感到轻松和省时。尤其是,当你想创建许多客户,您可以循环使用这部分代码,并快速完成所有操作。