我有两个特定商店视图的网站 - 英语&德语。通常情况下,我可以使用两个不同的商店视图维护1个网站,但是我的客户的具体要求是为每个特定的商店视图设置每个网站。
问题是我无法以编程方式更新/创建产品网站的不同产品名称/说明。我正在使用此代码来执行此操作,我发现它的价格相同: -
$combinationWebsiteWithName = array('1' => 'product name 1', '2' => 'product name 2');
foreach ($combinationWebsiteWithName as $_eachWebsiteId => $_eachProductName) {
$objWebsite = Mage::getModel('core/website')->load($_eachWebsiteId);
$storeIds = $objWebsite->getStoreIds();
$objProduct = Mage::getModel('catalog/product')
->setStoreId(end($storeIds))
->load($productId);
$objProduct->setName($_eachProductName);
$objProduct->save();
}
有人可以帮助我吗?在上面的代码中找到任何错误? 提前谢谢。
答案 0 :(得分:1)
最终,我发现那里出了什么问题,所以答案是: -
Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID));
foreach ($websiteWiseProductNameArray as $_eachWebsiteId => $_eachProductName) {
$objWebsite = Mage::getModel('core/website')->load($_eachWebsiteId);
$storeIds = $objWebsite->getStoreIds();
foreach ($storeIds as $_eachStoreId) {
$objProduct = Mage::getModel('catalog/product')
->setStoreId($_eachStoreId)
->load($productId);
$objProduct->setData($targetAttrCode, $_eachProductName);
$objProduct->save();
unset($objProduct);
}
unset($storeIds, $objWebsite);
}
我最后一个意想不到的修改区域是使用以下代码将商店ID设置为管理区域:“Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID));
”