2016-02-11 49 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

太棒了!任何想法如何將這些結果與原始可配置產品連接起來?片段已經按照我的預期工作了...從現在開始。 –

相關問題