我有一个可配置的产品,有两个可配置的属性大小和颜色,我想在类别页面上显示可配置的每种颜色的一个产品。当提供不同尺寸时,需要显示这些颜色。
当客户打开页面时,他们应该看到所有产品都可用的所有颜色,然后如果按尺寸过滤,他们应该看到所有产品的所有颜色。
此问题存在两个问题。 1.显示适当的产品和颜色,2。设置分层导航,使其显示所有正确的选项。
我尝试过为每种颜色显示简单的产品,并将它们链接到可配置的父级,但分层导航却完全错误。我还尝试在后端显示可配置产品,以便将其添加到产品集合中并在过滤器中使用,然后将其隐藏在类别页面上,这种工作,但分层导航也计算所有简单产品。另一个问题是,如果我尝试使用简单的产品并选择每种颜色中的一种,那么它们也具有特定的尺寸,这样如果用户更改过滤器中的尺寸,这些将不会显示。
有没有人知道这样做的方法?
答案 0 :(得分: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颜色列表