3

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

  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. 我必须创建与从属性集中选择的属性一样多的关联产品。例如:带有选项 40、41、42 的 custom_attribute。所以我必须用我的 custom_attribute 和 value 创建一个简单的产品,但不知道该怎么做。例如:创建一个与我的 custom_attribute 40 和另一个值为 42 的可配置产品相​​同的简单产品。知道一个或多个属性可以关联到相同的属性集,并且必须动态创建所有内容。

是否有诸如 $product->setAttribute("custom_attribute",$value) 之类的东西?

4

1 回答 1

0

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

$product->setCustomAttribute($value)

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

$product->setSomeOtherThing($value)

看到图案了吗?

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

$product->setData('custom_attribute', $value)
于 2013-03-27T17:15:09.113 回答