如何获取洋红色的父产品ID?

2022-08-30 18:55:27

我知道在Magento 1.4.2.0中,一个人得到父母ID是这样的

list( $parentId ) = Mage::getModel('catalog/product_type_configurable')
                            ->getParentIdsByChild( $product->getId() );

我的问题是:如果我不知道父级是什么,我怎么知道使用“catalog/product_type_configurable”与“catalog/product_type_grouped”模型来获取id?


答案 1

您可以同时调用两者并提供回退,因为它应该是一个或另一个:

if($product->getTypeId() == "simple"){
    $parentIds = Mage::getModel('catalog/product_type_grouped')->getParentIdsByChild($product->getId());
    if(!$parentIds)
        $parentIds = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
    if(isset($parentIds[0])){
        $parent = Mage::getModel('catalog/product')->load($parentIds[0]);
        // do stuff here
    }
}

答案 2

您可以使用:

$product->getTypeInstance();

这将返回您产品的类型对象

然后,您可以执行以下操作:

->getParentIdsByChild()

最后给予:

$product->getTypeInstance()->getParentIdsByChild($child->getId());

推荐