2016-09-28 23 views
7

Tôi đang nhập khẩu một số khách hàng với:Đặt tùy chỉnh giá trị thuộc tính của khách hàng theo chương trình Magento 2

$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); 

     $customerFactory = $objectManager->create('\Magento\Customer\Model\CustomerFactory'); 


     $customer = $objectManager->create('Magento\Customer\Model\Customer')->setWebsiteId(1)->loadByEmail('[email protected]'); 


     try { 
      if(!empty($customer->getData('email'))) 
      { 
       $customer->setAttr1(1); // Attr1 = Name of the custom Attribute 
       $customer->setAttr2(2); // Attr2 = Name of the custom Attribute 
      } 
      else 
      { 
       $customer = $customerFactory->create()->setWebsiteId(1); 
      } 


      $customer->setLastname("Lastname"); 

      $customer->setFirstname("Firsty"); 

      ..... 

      $customer->save(); 

Khách hàng được lưu với tất cả các tiêu chuẩn của mình thuộc tính một cách chính xác nhưng các thuộc tính mới của tôi sẽ không được lưu anyway. Tôi cũng đã thử:

$customer->setCustomAttribute('Attr1','value'); 

nhưng điều này cũng không hiệu quả.

Thuộc tính tùy chỉnh được hiển thị correclty trong Magentos 2 backoffice và các giá trị được lưu chính xác quá nếu tạo khách hàng theo cách thủ công.

+1

Chia sẻ mã mà bạn sử dụng để tạo thuộc tính của khách hàng. –

Trả lời

1

Bạn có cố gắng:

$customer-> setData('Attr1','value'); 

và đừng quên để lưu và đăng nhập các thông tin:

try { 
    $customer->save(); 
} catch (\Exception $e) { 
    //log exception so you can debug the issue if there is one 
} 
Các vấn đề liên quan