3

我正在尝试创建分组产品并附加一个简单的产品。在管理部分它们都可用,但在前端可用的只有简单的产品。

如果我在管理面板中进入产品编辑模式(无所谓的简单或分组)并保存它而不更改任何内容,分组的产品将出现在前端。

我不知道哪里出了问题。

// 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();
4

1 回答 1

0

找到了解决办法!

第一个脚本添加分组产品,然后简单。分组产品的库存应该更新!

$stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product->getId());
$stockItem->setData('is_in_stock', 1);
$stockItem->save();
于 2013-10-08T23:41:42.037 回答