Я хочу отфильтровать некоторые настраиваемые продукты по атрибутам, которые используются для создания большего количества экземпляров этого продукта (размер, цвет и т. Д.). Это означает, что эти атрибуты не назначаются напрямую конфигурируемому продукту, но их дочерние элементы.
У меня уже есть код, который фильтрует конфигурируемые продукты по некоторым атрибутам, но все они назначены основному продукту, и дети наследуют это: designer.
$attributes_designers = $this->getRequest()->getParam('designers');
$attributes_colors = $this->getRequest()->getParam('color');
$attributes_sizes = $this->getRequest()->getParam('size');
$currentCategory = Mage::getModel('catalog/layer')->getCurrentCategory();
$_productCollection = $currentCategory->getProductCollection();
if(count($attributes_designers)>0 and !in_array("ALL",$attributes_designers)) {
$_productCollection->addAttributeToFilter('designer',$attributes_designers);
}
if(count($attributes_colors)>0 and !in_array("ALL",$attributes_colors)) {
$_productCollection->addAttributeToFilter('color',$attributes_colors);
}
if(count($attributes_sizes)>0 and !in_array("ALL",$attributes_sizes)) {
$_productCollection->addAttributeToFilter('size_apparel_eu',$attributes_sizes);
}
if(isset($_GET['order'])) $_productCollection->setOrder($this->getRequest()->getParam('order'), $this->getRequest()->getParam('dir'));
$_productCollection->load();
здесь, color
и size_apparel_eu
не работают, потому что они не назначены непосредственно продукту, а их дочерним элементам.