在购物车页面,我需要用一个孩子来SKU能够获得父SKU。
我试着从两个Magento的论坛,在这里在计算器上没有成功的类似问题剪掉一些代码。
我能确定产品是否只是一个简单的产品,而不使用getTypeId父(),但在那之后的一切我尝试失败导致在父SKU获得。
Magento的版本:1.4.2.0
在购物车页面,我需要用一个孩子来SKU能够获得父SKU。
我试着从两个Magento的论坛,在这里在计算器上没有成功的类似问题剪掉一些代码。
我能确定产品是否只是一个简单的产品,而不使用getTypeId父(),但在那之后的一切我尝试失败导致在父SKU获得。
Magento的版本:1.4.2.0
看看在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');