【问题标题】:Magento : On the category page how do I display a product for all the colour options in a configurableMagento:在类别页面上,如何以可配置的方式显示所有颜色选项的产品
【发布时间】:2012-10-18 10:26:44
【问题描述】:

我有一个具有两个可配置属性大小和颜色的可配置产品,我想在类别页面上为可配置中的每种颜色显示一个产品。这些颜色需要在不同尺寸可用时显示。

当客户打开页面时,他们应该会看到所有产品的所有颜色,然后如果他们按尺寸过滤,他们应该会看到该尺寸的所有产品的所有颜色。

这个问题有两个问题。 1. 显示适当的产品和颜色 2. 设置分层导航,使其显示所有正确的选项。

我尝试只显示每种颜色的简单产品并将它们链接到它们的父级可配置,但分层导航全错了。我还尝试使可配置产品在后端可见,以便将其添加到产品集合中并在过滤器中使用,然后将其隐藏在类别页面上,这种工作但分层导航也计算所有简单产品.另一个问题是,如果我尝试使用简单的产品并选择每种颜色中的一种,那么这些产品也有特定的尺寸,因此如果用户在过滤器中更改尺寸,这些产品将不会显示。

有人知道怎么做吗?

【问题讨论】:

  • 您想在类别页面上显示每个可配置产品的所有可用颜色吗?如果是这样,您可以只使用显示可配置属性的产品页面的机制,不同之处在于您只需要显示第一个而不需要任何 javascript 级联选择(这只有在“颜色”是第一个属性时才有效)显示在您的产品页面上)。如果这是你想做的,我可以指导你...
  • 'color' 是我的可配置产品的第一个属性,如果我没看错的话,我应该能够获取在产品页面上生成产品属性下拉列表的代码,然后使用它来显示在分类页面上?我查看了生成可配置选项的 wrapper.phtml,但我不确定如何修改它以适应

标签: magento


【解决方案1】:

在您的 list.phtml(或您想要创建的任何新模板)中(edit: 或更好:在块中)试试这个:

$colors = array();
if ($_product->isConfigurable()) {
    $allProducts = $_product->getTypeInstance(true)->getUsedProducts(null, $_product);
    foreach ($allProducts as $subproduct) {
        if ($subproduct->isSaleable()) {
            $colors[$subproduct->getColor()] = $subproduct->getAttributeText('Color');
        }
    }
}

并遍历 $colors 以构建您的自定义 HTML 颜色列表

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 2014-05-09
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多