2014-02-17 74 views
0

如何使用自定義屬性從前端添加產品? 我有這樣的代碼形式另一組問題從前端添加具有屬性的magento產品

//$product = Mage::getModel('catalog/product'); 
$product = new Mage_Catalog_Model_Product(); 
echo time(); 
// Build the product 
$product->setAttributeSetId(9);// #4 is for default 
$product->setTypeId('simple'); 

$product->setName('Some cool product name'); 
$product->setDescription('Full description here'); 
$product->setShortDescription('Short description here'); 
$product->setSku(time()); 
$product->setWeight(4.0000); 
$product->setStatus(1); 
$product->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH);//4 
print_r(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH); 

$product->setPrice(39.99);// # Set some price 
$product->setTaxClassId(0);// # default tax class 

$product->setStockData(array(
'is_in_stock' => 1, 
'qty' => 99999 
)); 

$product->setCategoryIds(array(27));// # some cat id's, 

$product->setWebsiteIDs(array(1));// # Website id, 1 is default 

//Default Magento attribute 

$product->setCreatedAt(strtotime('now')); 


//print_r($product); 
try { 
    $product->save(); 
    echo "Product Created"; 
} 
catch (Exception $ex) { 
    //Handle the error 
    echo "Product Creation Failed"; 
} 

但我有自定義屬性也,以及如何將它們從該代碼添加。

+0

請給我自定義屬性的詳細信息... –

回答

0

對於每個屬性,你有你需要調用:

$product->setData('attribute_code_here', 'Value here'); 

[編輯]

對於有/無屬性,像這樣做:

$product->setData('attribute_code_here', 1); //1 for Yes, 0 for No 

對於多重選擇

$product->setData('attribute_code_here', "4,6,12"); //the ids of the values concatenated by comma. 
+0

而如何工作的,例如多選字段?或者是/否 $ product-> setData('code','是'); - 沒有工作 – user3245106

+0

在是/否,它是1/0值 – user3245106

+0

@ user3245106。看看我的更新是/否和多選 – Marius

0

首先將每個產品的所有屬性添加到您的Magento中,以便您瞭解Magento如何使用它們。加載該產品和所有變量,然後使用它們來保存新產品。

$_product = Mage::getModel('catalog/product')->load('PRODUCT ID'); 

Zend_Debug::dump($_product); 

獲取你需要保存一個新產品的所有屬性,並做到這一點:

$_product = Mage::getModel('catalog/product'); 
$_product->setYourAttribute('...'); 
$_product->save(); 
相關問題