【问题标题】:Magento list associated simple products as configurable productMagento 将相关的简单产品列为可配置产品
【发布时间】:2014-04-07 14:05:51
【问题描述】:

我会用一个例子来说明我的问题。

我有一个可配置的产品。名称是:“测试”
我创建了 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,请告诉我。

【问题讨论】:

    标签: magento magento-1.8


    【解决方案1】:

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

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

    **编辑下面的cmets

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

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

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

    【讨论】:

    • 我想将“尺寸”属性应用于可配置产品。但如你所知,它没有。 (在此示例中)因此,如果我要将尺寸属性应用于关联的简单产品,我希望获得可返回的可配置产品。我不知道我该如何解释。 @马拉奇
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    相关资源
    最近更新 更多