5

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

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

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

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

有谁知道这样做的方法?

4

1 回答 1

2

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

$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 颜色列表

于 2012-10-18T12:56:42.880 回答