Magento以编程方式导入产品添加自定义选项

时间:2014-12-05 13:30:25

标签: php magento

我是基于.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());
    }
  }  
}

注意
没有显示错误信息

1 个答案:

答案 0 :(得分:0)

我知道这很愚蠢,但您可以尝试清理缓存,然后保存相关的自定义属性。如果这不起作用,请尝试使用以下命令强制保存:

$product->setMyCustomAttr('My Custom Attr');
$product->getResource()->saveAttribute($product, 'my_custom_attr');

确保您已保存产品并再次使用其ID加载产品。为了做到这一点,你将使用

Mage::getModel('catalog/product')->load(1);

让我知道这是否正常:)