Magento 2以编程方式更新产品,将空值保存到产品属性

时间:2017-04-06 10:25:40

标签: php attributes product magento2

使用取自csv文件的值更新现有产品(Magento CE 2.1.5)属性,当值不为空时字符串没有问题,但是当尝试保存空字符串时,产品属性值具有尚未更新

$product->setWidth("");
$product->save();

产品保存后的结果是属性值保持与更新前相同的值。 尝试了其他几种方法,其他地方提到但没有结果

$product->setWidth("");  //does nothing
$product->setData("width",""); //does nothing
$product->unsetData("width"); //does nothing
$product->setWidth(new \Zend_Db_Expr('')); //does nothing
$product->setData("width",null); //does nothing
$product->save();

所以问题是什么是正确的方法呢?那么想知道设置magento 2.x属性emtpy的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

如果我们尝试将其设置为null,则该属性采用“默认”值。

使用$product->setWidth(' ')代替,基本上设置空格而不是null可以解决问题。

收集数据时,请使用if (!empty($product->getWidth())) { ... }