从子SKU获取父SKU(配置或捆绑)(Get parent SKU (configurable or

2019-09-19 11:15发布

在购物车页面,我需要用一个孩子来SKU能够获得父SKU。

我试着从两个Magento的论坛,在这里在计算器上没有成功的类似问题剪掉一些代码。

我能确定产品是否只是一个简单的产品,而不使用getTypeId父(),但在那之后的一切我尝试失败导致在父SKU获得。

Magento的版本:1.4.2.0

Answer 1:

看看在Mage_Catalog_Model_Product_Type_Configurable和Mage_Bundle_Model_Product_Type类。 他们有得到家长和孩子的产品有用的方法。 你想getParentIdsByChild():

对于配置的产品:

$parent_ids = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($childId);

对于组合产品:

$parent_ids = Mage::getModel('bundle/product_type')->getParentIdsByChild($childId);

这些与IDS只工作。 你需要给孩子SKU转换为一个ID,然后父ID回SKU。 一个简单的方法来从SKU获得ID为:

Mage::getModel('catalog/product')->getIdBySku($sku);

此外,您还可以有多个父的ID,所以你必须要意识到这一点。 下面是一个例子:

$child_id = Mage::getModel('catalog/product')->getIdBySku($child_sku);
$parent_ids = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($child_id);
$parent_collection = Mage::getResourceModel('catalog/product_collection')
    ->addFieldToFilter('entity_id', array('in'=>$parent_ids))
    ->addAttributeToSelect('sku');
$parent_skus = $parent_collection->getColumnValues('sku');


文章来源: Get parent SKU (configurable or bundle) from child SKU
标签: magento