Magento 2-关于以编程方式创建产品的商店ID的问题

问题描述

我正在使用以下代码以编程方式创建产品。

$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 (将#修改为@)