2013-05-14 68 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