我是基于.csv文件以编程方式在Magento中导入简单产品。一切正常,但我必须添加一些值,我已经创建了一些自定义属性。但我不知道如何添加它们。
我想我已经添加了自定义属性所在的属性集,我可以添加它们
$product->setCustomAttribute(value)
但这不起作用。
如何添加它们?
其余代码供参考
if(($handle = fopen("werkbladvoorraad.csv", "r")) !== FALSE){
while(($data = fgetcsv($handle, 1000, ";")) !== FALSE){
$row++;
if($row == 1){
continue;
}
try{
$product ->setStoreId(1)
->setWebsiteIds(array(1))
->setAttributeSetId(4)
->setTypeId('simple')
//->setCreatedAt(strtotime('now'))
->setSku($data[0])
->setName($data[1])
//->setWeight()
->setStatus(1)
->setTaxClassId(2)
->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH)
->setManufacturer($data[14])
->setColor($data[10])
->setPrice($data[6])
->setMaat_heren($data[4]) // CUSTOM ATTRIBUTE
->setStockData(array(
'use_config_manage_stock' => 0,
'manage_stock'=>1,
'min_sale_qty'=>1,
'max_sale_qty'=>2,
'is_in_stock' =>1,
'qty' => 999
));
$product->save();
}catch(Exception $e){
echo ($e->getMessage());
}
}
}
注意
没有显示错误信息
答案 0 :(得分:0)
我知道这很愚蠢,但您可以尝试清理缓存,然后保存相关的自定义属性。如果这不起作用,请尝试使用以下命令强制保存:
$product->setMyCustomAttr('My Custom Attr');
$product->getResource()->saveAttribute($product, 'my_custom_attr');
确保您已保存产品并再次使用其ID加载产品。为了做到这一点,你将使用
Mage::getModel('catalog/product')->load(1);
让我知道这是否正常:)