首页 文章

Magento将简单产品列为可配置产品

提问于
浏览
1

我要用一个例子来讲述我的问题 .

我有一个可配置的产品 . 名称是:“测试”
我创造了4种不同尺寸的简单产品 . 他们是相关的 .
测试 - 小
测试中
测试大
测试XLARGE

我正在使用此代码获取所有产品:

$collection = Mage::getResourceModel('reports/product_collection')
        ->addAttributeToSelect('*')
        ->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id=entity_id', null, 'left')
        ->addStoreFilter()
        ->setOrder('created_at', 'desc')
        ->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds());

我想将这4种产品合二为一 . 具有所有尺寸属性 . 作为一个 .

如果我要在代码中添加“size = small”属性,则“test”将返回产品 .
如果我要将“size = medium”属性添加到代码“test”将再次退回 .
如果我要将“size = large”属性添加到代码“test”将再次返回 .
如果我要将“size = xlarge”属性添加到代码“test”将再次退回 .

我怎样才能做到这一点?也许我需要高级sql,请告诉我 .

1 回答

  • 0

    我不完全理解您的问题,但您可以使用type属性过滤集合 . 例如type_id ='configurable'或type_id ='simple' .

    ->addAttributeToFilter('type_id', array('eq' => 'configurable'));
    ->addAttributeToFilter('type_id', array('eq' => 'simple'));
    

    **编辑以下评论

    所以,那么,我认为你想要做的是按原样运行集合,然后从简单的产品中找出它的可配置使用的功能

    $ productParentId = Mage :: getResourceSingleton('catalog / product_type_configurable') - > getParentIdsByChild($ simpleProductId);

    该函数将返回一个数组,您可能需要额外的逻辑来推断哪些可配置,但我希望大多数商店只使用每个简单产品的一个可配置产品 . 我使用$ productParentId [0]来识别我商店中的可配置产品 .

相关问题