如何确定简单产品是否属于可配置产品?

时间:2016-02-11 12:06:02

标签: magento export configurable-product

我正在为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 - 但我不知道如何处理各自的名字。也许这已经是正确的猜测?

谢谢,Max

1 个答案:

答案 0 :(得分:1)

是的,有办法这样做。看一下模型类Mage_Catalog_Model_Product_Type_Configurable,有一个名为getParentIdsByChild的函数。

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

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