Сортировка по категориям - PullRequest
       18

Сортировка по категориям

1 голос
/ 24 сентября 2010

В настоящее время я пытаюсь создать специальную функцию сортировки для страницы категории Magento.

У меня есть несколько атрибутов, которые мне нужно использовать для сортировки:

Первый атрибут называется конструкторы,Этот атрибут установлен на настраиваемом продукте.

Следующие атрибуты называются цветом и размером.Они настроены не на сам настраиваемый продукт, а на «простые продукты», которые я объединяю для создания настраиваемого продукта.

$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',$attributes_sizes);
}
if(isset($_GET['order'])) $_productCollection->setOrder($this->getRequest()->getParam('order'), $this->getRequest()->getParam('dir'));

$_productCollection->load();

К сожалению, я не могу заставить работать цвет и размер атрибута,поскольку они не установлены в настраиваемом продукте, но это дети.

У кого-нибудь есть идеи, как заставить это работать?

Заранее спасибо

1 Ответ

3 голосов
/ 24 сентября 2010

Две вещи:

  • Полагаю, вы это знаете, но только для того, чтобы убедиться: вы можете легко отсортировать любой из ваших атрибутов, отредактировав атрибут в Каталоге >> Атрибуты >> Управление атрибутами, отредактировав один, а нижний параметр называется «Используется для сортировки». в списке товаров "- который вы должны установить на" Да ".
  • Как вы узнали, Magento не собирается сортировать конфигурируемый продукт по каким-либо значениям в простых продуктах, которые были с ним связаны. Это на самом деле имеет много смысла. Если вы пытаетесь отсортировать по цвету, и у вас есть настраиваемый продукт с двумя простыми продуктами, один из которых имеет цвет «Apple Red», а другой - с «Zealot Black», то как бы это отсортировать? Просто не может иметь логического смысла делать то, что вы надеетесь. Сортировка выполняется только на основе атрибутов, присвоенных настраиваемому продукту.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...