【发布时间】:2014-06-10 19:56:24
【问题描述】:
我正在尝试以编程方式将一些现有的简单产品加入到现有的可配置产品中。
我几乎没有找到任何关于此的提示/文档。我检查了 MAGMI Magento Mass Importer 插件(特别是 magmi_productimportengine.php-file),但没有成功。
之后我发现了这个sn-p:
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));
}
但是当我尝试像这样调用函数时:
$sProduct = Mage::getModel('catalog/product')
->loadByAttribute('sku', $v);
$cProduct = Mage::getModel('catalog/product')
->loadByAttribute('sku', $sku);
attachProductToConfigurable($sProduct, $cProduct);
(每个简单的产品 SKU 都会逐步传递到可配置产品)
致命错误:在第 1018 行对 ... 中的非对象调用成员函数 getId()
这是函数本身的这一行
$loader = Mage::getResourceModel('catalog/product_type_configurable')
->load($configurableProduct, $configurableProduct
->getId());
由于我没有发现任何类似于将简单 SKU 加入现有可配置产品的方法,因此我一直在查找初始化函数调用、资源模型等时可能出现的问题。
我们非常感谢任何关于需要注意什么以实现这一目标的想法。
【问题讨论】:
标签: php magento join import configurable