我想将自定义属性的值设置为可配置产品的关联产品。
当我创建一个可配置产品时,我选择了稍后选择每个产品所需的属性集。
$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();
我必须创建与属性集选择的属性一样多的关联产品。例如:custom_attribute with options 40,41,42。所以我必须使用我的custom_attribute和value创建一个简单的产品,并且不知道该怎么做。 例如:创建一个简单的产品,与使用我的custom_attribute 40配置相同,另一个创建值为42.知道一个或多个属性可以与同一个属性集相关联,并且所有内容都必须以dinamically方式创建。
是否存在诸如$ product-> setAttribute(“custom_attribute”,$ value)?
答案 0 :(得分:0)
是的,你已经在使用它了。 Magento使用魔术方法 - 将属性custom_attribute的值设置为$ value,执行以下操作:
$product->setCustomAttribute($value)
要将some_other_thing的值设置为$ value,请执行以下操作:
$product->setSomeOtherThing($value)
看到模式?
或者,您可以直接使用setData方法:
$product->setData('custom_attribute', $value)