2016-08-22 6 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(); 

} 

Ошибок не дают, но Productname не изменится.

ответ

1

Вы даже добираетесь до этой части?

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

Либо использовать отладчик для проверки вы даже зайти внутрь if части, либо добавить некоторые var_dump и die методы внутри, так что вы можете подтвердить, что вы получите внутри if части.

Btw, диспетчер объектов должен быть инициализирован в методе __construct класса (не так, как вы его инициализировали).

+0

эй, да, это проходит через часть if, я уже отлаживал ее. Я также знаю, что использование om не самый лучший способ, но я не могу использовать конструктор. –