2016-08-22 3 views
0

일부 제품을 업데이트하고 싶습니다. 이름, 설명 ... 내가 무슨 짓을했는지업데이트 제품 이름 Magento 2

은 :

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

$productFactory = $objectManager->create('\Magento\Catalog\Model\ProductFactory'); 

$product = $productFactory->create(); 

$product->load($product->getIdBySku($sku)); 

if(!empty($product->getData('sku'))) 
{ 
    $product->setName('Test1234'); 
    $product->save(); 

} 

오류가 주어지지하지만, 제품 이름은 변경되지 않았습니다.

답변

1

이 부분에도 액세스 할 수 있습니까?

if(!empty($product->getData('sku'))) 
{ 
    $product->setName('Test1234'); 
    $product->save(); 
} 

중 하나를 사용하는 디버거는 심지어 if 부분 내부에 가야합니까 확인, 중 당신이 if 부분의 내부로 들어가 확인 할 수 있습니다 당신은 내부의 var_dumpdie 방법을 추가 할 수 있습니다.

Btw, 개체 관리자는 클래스의 __construct 메서드에서 초기화해야합니다 (직접 초기화하지 않아야 함).

+0

예, if 부분을 통과합니다. 이미 디버깅했습니다. 나는 또한 om을 사용하는 것이 최선의 방법은 아니지만 생성자를 사용할 수 없다는 것을 알고있다. –