addAttributeToFilter не фильтрует коллекцию продуктов


Я создал пользовательский шаблон для домашней страницы в своей теме magento (работает над CE 1.8.1.0), в котором я получаю отфильтрованную коллекцию продуктов:

$selections_products = $modelCatalogProduct->getCollection()
   ->setPageSize(32)
   ->addAttributeToSelect(array('name','selection_moment','selection_rouge','selection_blanc','selection_cdc','selection_champagne','selection_exception'))
   ->addAttributeToFilter(
        array(
          array('attribute'=>'selection_moment', array('eq' => '1')),
          array('attribute'=>'selection_rouge', array('eq' => '1')),
          array('attribute'=>'selection_blanc', array('eq' => '1')),
          array('attribute'=>'selection_cdc', array('eq' => '1')),
          array('attribute'=>'selection_champagne', array('eq' => '1')),
          array('attribute'=>'selection_exception', array('eq' => '1'))
        )
    );

Это пользовательские атрибуты, созданные в бэк-офисе. Мне удалось правильно разместить их на одной странице с помощью нескольких коллекций и одного фильтра, но я пытаюсь получить весь продукт за один звонок из-за проблем с производительностью.

Плоский каталог включен для продуктов и категорий, а также для всех пользовательских атрибуты настроены с "показывать на странице продукта" и "показывать в списке продуктов" на true

ИЗМЕНИТЬ:

Забыл включить цикл вызова:

foreach($selections_products as $product){
    $product = mage::getModel('catalog/product')->load($product->getId());
    echo '<pre>';
    var_dump($product->getName());
    var_dump($product->getData('selection_moment'));
    var_dump($product->getData('selection_rouge'));
    var_dump($product->getData('selection_blanc'));
    var_dump($product->getData('selection_cdc'));
    var_dump($product->getData('selection_champagne'));
    echo '</pre>';
}

Следующие значения возвращают только 0

Author: WISAM HAKIM, 2014-06-18

1 answers

Попробуйте вот так

$selections_products = $modelCatalogProduct->getCollection()
->setPageSize(32)
->addAttributeToSelect(array('name','selection_moment','selection_rouge','selection_blanc','selection_cdc','selection_champagne','selection_exception'))
->addAttributeToFilter(
    array(
        array('attribute'=>'selection_moment', 'eq' => '1'),
        array('attribute'=>'selection_rouge', 'eq' => '1'),
        array('attribute'=>'selection_blanc', 'eq' => '1'),
        array('attribute'=>'selection_cdc', 'eq' => '1'),
        array('attribute'=>'selection_champagne', 'eq' => '1'),
        array('attribute'=>'selection_exception', 'eq' => '1')
    )
);

Обратитесь к этому ссылка

 5
Author: MeenakshiSundaram R, 2014-06-19 10:07:45