问题描述
我正在使用以下代码以编程方式创建产品。
$importData = $this->getRowValues($rowData);
$_product = $this->productFactory->create()->loadByAttribute('sku',$importData['sku']);
if($_product == NULL){
$_product = $this->productFactory->create();
}
$_product->setWebsiteIds(array(1));
$_product->setStoreId(0);
$_product->setAttributeSetId(4);
$_product->setTypeId('simple');
$_product->setCreatedAt(strtotime('Now'));
$_product->setName($importData['name']);
$_product->setSku($importData['sku']);
$_product->setWeight($importData['weight']);
$_product->setStatus(1);
$_product->setCategoryIds($importData['categoryIds']);
$_product->setTaxClassId(2);
$_product->setCountryOfManufacture($importData['country']);
$_product->setPrice($importData['price']);
$_product->setDescription($importData['description']);
$_product->setShortDescription($importData['short_description']);
$_product->setMetaTitle($importData['MetaTitle']);
$_product->setMetaKeyword($importData['MetaKeywords']);
$_product->setMetaDescription($importData['description']);
$_product->setStockData(
array(
'use_config_manage_stock' => 0,'manage_stock' => 1,'min_sale_qty' => $importData['min_cart_qty'],'max_sale_qty' => 1000,'is_in_stock' => $importData['stockStatus'],'qty' => $importData['qty']
)
);
$result = $_product->save();
它按预期创建了产品,但是“ catalog_product_entity_varchar”表中有两个条目用于商店ID为0和1的产品属性,即使我在创建产品时添加了商店ID为0。
这导致每当我尝试从后端更改产品的名称或url键时,它都不会反映在前端中。我还需要更改默认商店视图的产品名称。 此问题仅在以编程方式创建产品时发生,否则,如果我从后端创建产品,则没有问题。
请帮助我,让我知道它有什么问题,我有什么遗漏吗? 我正在使用M2.3.1,并且也禁用了单存储模式。
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)