Фильтр товаров без изображений в Magento

Требование: у нас есть куча продуктов с изображениями и без. Нам нужно только отображать продукты с изображениями в веб-интерфейсе.

Что я сделал: я перепробовал почти все ресурсы SO, такие как:

Фильтровать товары без изображений на Magento.

Как я могу найти все продукты без изображений в Magento?

Скрыть продукты без изображений magento

и их различные комбинации без удачи .. Я думаю, что-то изменилось в новой версии Magento. Я использую версию 1.8.1.0

Кто-нибудь может пролить свет здесь?

ОБНОВЛЕНИЕ: На моей отладке я узнал, что

->addAttributeToFilter('small_image', array('neq' => 'no_selection'))

действительно работал. Но возникает ошибка в многоуровневом ценовом фильтре. Я думал, что это не работает раньше. Я получаю ошибку, похожую на: Ошибка фильтра цен Magento 1.7 (Столбец не найден: 1054 Неизвестный столбец ‘e.min_price’ в ‘предложении where’)

Согласно ответу Рой на поставленный выше вопрос, я считаю, что нам нужно отредактировать файл: Mage / Catalog / Model / Layer / Filter / price.php

0

Решение

Вы пробовали это?

->addAttributeToFilter('small_image', array('neq' => 'no_selection'))
0

Другие решения

Это можно сделать с помощью событий Magento. Я добавил наблюдателя на событие:

catalog_product_collection_load_before

который добавляет фильтр для удаления всех продуктов без изображений при загрузке коллекции продуктов. Наблюдатель выглядит следующим образом:

public function filterProductsWithoutImages($observer) {
if (isset($observer['collection'])) {
$collection = $observer['collection'];
$collection->addAttributeToFilter('small_image', array('neq' => "no_selection"));
return $this;
}
}

Здесь нам нужно отключить «Использовать плоский каталог товаров». Для этого:

Администратор> Конфигурация> Каталог> Внешний интерфейс> Использовать плоский каталог продукта для «Нет»

Так как эта фильтрация несовместима с использованием «Плоский каталог товаров»

С этим хорошо работает количество товаров на страницах поиска.

0

По вопросам рекламы [email protected]