2013-05-14 62 views
2

這裏是我的代碼。在magento中查找產品的父母代碼

$storeId = Mage::app()->getStore()->getId(); 
    $session = Mage::getSingleton('checkout/session'); 
    foreach($session->getQuote()->getAllItems() as $item) 
    {//how to find parent id here} 

在上面提到的評論我想訪問該特定產品的父ID。 請幫助..

+0

是不是$ item-> getParentId()工作? – JNDPNT 2013-05-14 12:25:52

回答

7

嘗試下面的代碼,可能是它會幫助你

if($item->getTypeId() == "simple"){ 
    $parentIds = Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($item->getId()); // check for grouped product 
    if(!$parentIds) 
     $parentIds = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($item->getId()); //check for config product 

} 
+0

感謝您的迴應,但我們需要幫助,當我們這樣做會在code.In排序我想要找到添加到購物車中的產品的父id。 – Chiragit007 2013-05-14 13:03:29

+0

您可以將此代碼放入您的foreach循環中 – Mufaddal 2013-05-14 13:08:25

+0

實際上只是管理解決方案。以下是代碼。$ session = Mage :: getSingleton('checkout/session'); \t \t的foreach($會話級>的getQuote() - > getAllItems()作爲$項) \t \t \t { \t \t \t回波法師:: getModel( '目錄/分類') - >負載($用品 - > getProduct() - > \t \t \t getCategoryIds($ item-> getProductId())) - > getId(); \t \t \t} – Chiragit007 2013-05-14 13:09:18

2

您可以使用它來獲取父

foreach(...) { 
    $parents = $item->getTypeInstance()->getParentIdsByChild($item->getId()); 
    //if you need to load the parent 
    if(!empty($parents)) { 
     $parentProd = Mage::getModel('catalog/product')->load($parents[0]); 
     //do something 
    } 
} 
0

這可能幫助你:

$product = Mage::getModel('catalog/product'); 
$product->load($productId); 
$grouped_product_model = Mage::getModel('catalog/product_type_grouped'); 
$groupedParentId = $grouped_product_model->getParentIdsByChild($product->getId()); 
+0

或不..如果有人使用分組產品和產品有多個父母? :) – Pascut 2015-03-29 19:29:31