2016-02-11 51 views
0

我目前正在为Mage1写出一个导出工具,以便将产品从Mage1导出到Mage2。如何确定简单产品是否是可配置产品的一部分?

因此,我想确定集合中的产品是否是可配置产品的一部分。

我现在收集设置是这样的:

$_productCollection = Mage::getModel('catalog/product') 
         ->getCollection() 
         ->setPageSize(500) 
         ->setCurPage(1) 
         ->addAttributeToSort('sku', 'ASC') 
         ->addAttributeToFilter('type_id', array('eq' => 'simple')) 
         ->addAttributeToSelect('*') 
         ->load(); 

首先,我要求只有简单的产品现在。如果我删除了这一行,我就可以获得集合中商店中的所有产品,但是在代码中,每个产品都像目前简单的产品一样处理。现在

,下面发生的事情:

我要求的脚本,并得到我的信息对所有简单的产品。在我用来测试的商店中有可配置产品和捆绑产品。我知道想知道如何我可以确定产品是否是可配置或捆绑物品的一部分,以及如何将这些“简单”产品分配给相应的可配置产品?

我生成一个CSV文件,我可以在Mage2中成功上传,但正如我已经说过的,它只导入简单的产品(根据需要到目前为止)。

我google了一下(https://www.google.de/search?q=get+assigned+simple+products+for+a+configurable+product&ie=utf-8&oe=utf-8&gws_rd=cr&ei=b3i8VuD6BIevswGWtbGACw),但我仍然无能为力。 :/希望这里有人能帮助我处理这件事。

此外,我检查了这个线程:Checking if a Magento product is a child of a configurable product - 但我不知道如何处理各自的名称。也许这已经是正确的猜测了?

谢谢,最大

回答

1

是的,有这样做的方法。看看模型类Mage_Catalog_Model_Product_Type_Configurable,有一个函数getParentIdsByChild

Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($productId); 

如果找不到父母身份证,它将返回一个空数组。

+0

太棒了!任何想法如何将这些结果与原始可配置产品连接起来?片段已经按照我的预期工作了...从现在开始。 –

相关问题