在Magento中为可配置产品的关联产品添加属性

时间:2013-03-25 16:08:15

标签: php magento-1.7

我想将自定义属性的值设置为可配置产品的关联产品。

  1. 我创建了一个属性和属性集
  2. 当我创建一个可配置产品时,我选择了稍后选择每个产品所需的属性集。

    $product = Mage::getModel('catalog/product');
    $stockData = $product->getStockData();
    $stockData['qty'] = $qty;
    $stockData['is_in_stock'] = 1;
    $stockData['manage_stock'] = 1;
    $stockData['use_config_manage_stock'] = 1;
    $today = "'".date("Y-m-d")."'";
    $product->setStoreId(0)
        ->setTypeId("configurable")  
        ->setAttributeSetId($attribute_set_id)
        ->setName($es_name)
        ->setDescription($es_description)
        ->setShortDescription($es_short_description)
        ->setSku($sku)
        ->setWeight(1.0)
        ->setStatus(2)  
        ->setVisibility(4) 
        ->setPrice($price)
        ->setTaxClassId($tax_class)  // Impuestos
        ->setStockData($stockData)   // Stock
        ->setCategoryIds($categories) 
        ->setWebsiteIDs(array(1))  // Website total
        ->setData('news_from_date', $today)
            ->save();
    
  3. 我必须创建与属性集选择的属性一样多的关联产品。例如:custom_attribute with options 40,41,42。所以我必须使用我的custom_attribute和value创建一个简单的产品,并且不知道该怎么做。 例如:创建一个简单的产品,与使用我的custom_attribute 40配置相同,另一个创建值为42.知道一个或多个属性可以与同一个属性集相关联,并且所有内容都必须以dinamically方式创建。

  4. 是否存在诸如$ product-> setAttribute(“custom_attribute”,$ value)?

1 个答案:

答案 0 :(得分:0)

是的,你已经在使用它了。 Magento使用魔术方法 - 将属性custom_attribute的值设置为$ value,执行以下操作:

$product->setCustomAttribute($value)

要将some_other_thing的值设置为$ value,请执行以下操作:

$product->setSomeOtherThing($value)

看到模式?

或者,您可以直接使用setData方法:

$product->setData('custom_attribute', $value)