我正在尝试以编程方式将一些现有的简单产品加入到现有的可配置产品中.
我几乎没有找到任何关于此的提示/文档.我检查了MAGMI Magento Mass Importer插件(特别是magmi_productimportengine.php-file)但没有成功.
之后我找到了这个片段:
function attachProductToConfigurable($childProduct, $configurableProduct)
{
$loader = Mage::getResourceModel('catalog/product_type_configurable')
->load($configurableProduct, $configurableProduct->getId());
$ids = $configurableProduct
->getTypeInstance()
->getUsedProductIds();
$newids = array();
foreach ($ids as $id) {
$newids[$id] = 1;
}
$newids[$childProduct->getId()] = 1;
//$loader->saveProducts( $_configurableProduct->getid(), array_keys( $newids ) );
$loader->saveProducts($configurableProduct, array_keys($newids));
}
Run Code Online (Sandbox Code Playgroud)
但是当我试图像这样调用函数时:
$sProduct = Mage::getModel('catalog/product')
->loadByAttribute('sku', $v);
$cProduct = Mage::getModel('catalog/product')
->loadByAttribute('sku', $sku);
attachProductToConfigurable($sProduct, $cProduct);
Run Code Online (Sandbox Code Playgroud)
(每个简单的产品SKU一步一步地传递给可配置的产品)
Fatal error: Call to a member function getId() on a non-object in ... on line 1018
这是函数本身的这一行
$loader = Mage::getResourceModel('catalog/product_type_configurable') …Run Code Online (Sandbox Code Playgroud)