简体   繁体   English

如何用php创建分组产品? (Magento 1.7)

[英]How to create grouped product with php? (Magento 1.7)

I'm trying to create grouped product and attach simple one to it. 我正在尝试创建分组产品并将简单的产品附加到其上。 In admin section both of them are available, but in frontend available only simple product. 在管理部分,它们都可用,但在前端只有简单的产品。

If I enter into product edit mode in admin panel (indifferent simple or grouped) and just save it without changing anything, grouped product will appear in frontend. 如果我在管理面板中进入产品编辑模式(无差别简单或分组)并且只保存而不更改任何内容,则分组产品将显示在前端。

I can't figure out where is a problem. 我无法弄清楚问题出在哪里。

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

The same result with: 结果相同:

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

Solution was found! 解决方案被发现!

First script add grouped product, then simple. 第一个脚本添加分组产品,然后简单。 Stock of grouped product should be updated! 分组产品的库存应该更新!

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM