首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从子SKU获取父SKU (可配置或捆绑)

从子SKU获取父SKU (可配置或捆绑)
EN

Stack Overflow用户
提问于 2012-07-14 09:00:56
回答 1查看 13.7K关注 0票数 3

在购物车页面上,我需要能够获得父SKU使用子SKU。

我在StackOverflow上尝试了从Magento论坛和类似问题中截取的几个代码,但都没有成功。

我可以通过使用getTypeId()来确定一个产品是否只是一个没有父级的简单产品,但之后我尝试的所有操作都无法获得父级SKU。

Magento版本: 1.4.2.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-14 12:46:30

看一下Mage_Catalog_Model_Product_Type_Configurable和Mage_Bundle_Model_Product_Type类。他们有一些有用的方法来获取父产品和子产品。您需要getParentIdsByChild():

对于可配置产品:

代码语言:javascript
复制
$parent_ids = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($childId);

对于捆绑产品:

代码语言:javascript
复制
$parent_ids = Mage::getModel('bundle/product_type')->getParentIdsByChild($childId);

这些只适用于ids。您需要将子SKU转换为id,然后将父id转换回SKU。从SKU获取id的简单方法是:

代码语言:javascript
复制
Mage::getModel('catalog/product')->getIdBySku($sku);

此外,您可以有多个父ids,因此您必须注意这一点。下面是一个例子:

代码语言:javascript
复制
$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');
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11480126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档