我正在尝试更新不同商店的元描述,但是magento一直显示错误:
已存在包含网址密钥的产品。
我想要做的是我在一个magento上有两个商店。所以我们想要不同商店的单独元信息。所以当我尝试更新特定商店的元信息时,会显示错误。任何一个面临同样问题的人:
$pid = Mage::getModel('catalog/product')->getResource()->getIdBySku($sku);
$product = Mage::getModel('catalog/product')->load($pid);
if($product)
{
$product->setStoreId(6);
$product->setmeta_keyword($newKeyWord);
$product->setmeta_description($newmeta_metadescription);
try {
$product->save();
echo 'Product Updated successfully --- '.$sku."\n";
}
catch (Exception $ex) {
echo $ex->getMessage();
}

答案 0 :(得分:1)
您的代码中存在很多问题:
$product->setMetaKeyword($newKeyWord);
$product->setMetaDescription($newmeta_metadescription);
$product = Mage::getModel('catalog/product')->load($pid);
请使用以下格式,这比您的代码更快
$product->addAttributeUpdate($Attributecode, $value, $storeId)
然后
$product->addAttributeUpdate('meta_keyword', $newKeyWord, $storeId=6);
$product->addAttributeUpdate('meta_description', $newmeta_metadescription, $storeId=6);
在这种情况下无需使用save()函数。