2013-10-08 65 views
3

我正在嘗試創建分組產品並附上簡單的一個。在管理部分中,它們都可用,但前端只提供簡單的產品。如何用php創建分組產品? (Magento 1.7)

如果我在管理面板中進入產品編輯模式(無關簡單或分組),只需保存而不更改任何內容,分組產品將顯示在前端。

我想不通哪裏是問題。

// create grouped product 
$product = Mage::getModel('catalog/product'); 
$product->setTypeId('grouped'); 
$product->setAttributeSetId(13); 
$product->setSku('K101596245'); 
... 
$product->setVisibility(4); 
$product->setStatus(1); 
$product->setTaxClassId(0); 
$product->setStockData(array(
    'is_in_stock' => 0, 
)); 
$product->save(); 
unset($product); 


// create simple product 
$simpleProduct = Mage::getModel('catalog/product'); 
$simpleProduct->setData('type_id', 'simple'); 
... 
$simpleProduct->setData('status', 1); 
$simpleProduct->setData('price', $values['retailPrice']); 
$simpleProduct->setData('special_price', $values['price']); 
$simpleProduct->setData('stock_data', array(
     'is_in_stock' => 1, 
     'qty' => 9, 
    )); 
$simpleProduct->save(); 


// attach simple to grouped 
Mage::getModel('catalog/product_link_api')->assign("grouped", $product->getId(), $simpleProduct->getId()); 

同樣的結果有:

// attach simple to grouped 
$relation_data = array(); 
$relation_data[ $simpleProduct->getId() ] = array('qty' => 9, 'position' => 0); 
$product->setGroupedLinkData($relation_data); 
$product->save(); 

回答

0

解決方案被發現!

第一個腳本添加分組產品,然後簡單。 分組產品的庫存應該更新!

$stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product->getId()); 
$stockItem->setData('is_in_stock', 1); 
$stockItem->save();