Как создать сгруппированный продукт с помощью php? (Мадженто 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();

person 3hertz    schedule 08.10.2013    source источник


Ответы (1)


Решение было найдено!

Сначала скрипт добавляет сгруппированный товар, затем простой. Склад сгруппированного товара должен быть обновлен!

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