На форуме 9558 тем, 76453 сообщений, 44667 участников
тема · 71 279 просмотров · 135 ответов

Настройка модуля Фильтр

Общие вопросы
читают: 0 участников и 1 гость
порядок
15 дек 2015 14:06#81
Vlad написал(а): ↑открываете файл шаблона категории \catalog\view\theme\default\template\product\category.tpl

смотрите где то место, куда надо вставить фильтр.
Затем в то место вставляете код левой колонки <?php echo $column_left; ?>

Ну а далее в макета, размещаете ТОЛЬКО модуль фильтра в левую колонку на макет Category

Спасибо огромное, встало куда надо, только теперь фильтр отображается и слева и где нужно. Не подскажите ещё как убрать фильтр слева? Или он теперь будет дублироваться?
15 дек 2015 17:29#82
ksen написал(а): ↑Не подскажите ещё как убрать фильтр слева? Или он теперь будет дублироваться?

так код из левой колонки надо удалить.. т.е вообще чтобы левой колоки небыло в шаблоне.
13 янв 2016 15:01#83
Romans написал(а): ↑Ссылка удалена из за разногласий с владельцами вышеуказанного ресурса.
Файл прикрепил

Описание
Вроде и версия Opencart получила дальнейшее развитие в виде ветки 2.x
А детские болезни от предыдущей остались - в данном случае проблема со стандартным фильтром товаров при наличии нескольких групп фильтров.

Патч решает проблему с фильтром в Opencart 2.0, меняя логику выбора групп фильтров.

до патча:
при фильтрации будут выбраны все товары, у которых совпадает ХОТЯ БЫ один параметр в фильтрах (без учета групп фильтров)

после патча:
при фильтрации будут выбраны только те товары, у которых совпадут ВСЕ отмеченные параметры в фильтрах (с учетом групп фильтров)

Патч является адаптацией для Opencart 2.x этого решения

Актуален для Opencart версий 2.0.0.0 - 2.0.3.1

Обратите внимание:
Если уже установлен сторонний фильтр товаров, например filter pro - использовать патч нет смысла
(да и не рекомендуется, во избежание проблем совместимости)

Установка:
зайти в Extensions->Extension Installer и загрузить файл fix_filter.ocmod.xml
потом зайти в Modifications и обновить кэш модификаций

2.1.0.1 всё работает спасибо
24 янв 2016 10:30· изменено#84
работает но не совсем корректно
если мы выбираем в категории по фильтру Exide
портом с категории идем в подкатегорию в которой вообще не установлены фильтры, допустим подкатегория 180-225Ah, то там вообще нет никаких товаров
таким образом если после выбора Exide пойти в подкатегорию, то если там есть Exide, то их только и покажет, а если нет, то будет абсолютно пустая подкатегория, хотя там товары есть
9 фев 2016 20:02#85
Может быть кто-нибудь по этапно подскажет, как установить родной фильтр в версии 2.1.0.1.1 , в других версиях вроде все понятно, тут в фильтре после установки его, там где необходимо изменить(редактировать)- нет полей сверху макет и расположение .
Другой вариант установки который предлагается - тоже не подходит для 2.1.0.1.1 (вот этот вариант после пункта установки) Меню > Система > Дизайн > Макеты > Макет-категории (Category) , так как в категории, в самом меню- Система нет подкатегории - дизайн,дизайн самостоятельная категория в нашем случае , а подкатегорию макеты я вообще нигде не увидела . Получается что если ориентироваться даже на способ :

1. Включаем модуль фильтра в Модулях.
2. В макетах добавляем его на макет категорий
3. Меню - Каталог - Фильтры, добавляем группу фильтров и сами фильтры.
4. В товара на закладке Связи, в поле Фильтр выбираем нужные фильтры
5. В категориях тоже на закладке Связи, в поле Фильтр выбираем нужные фильтры

то как осуществить пункт номер 2 не понятно. Напишите , пожалуйста, по этапно для моей версии
9 фев 2016 22:43#86
irikss написал(а): ↑Может быть кто-нибудь по этапно подскажет, как установить родной фильтр в версии 2.1.0.1.1 , в других версиях вроде все понятно, тут в фильтре после установки его, там где необходимо изменить(редактировать)- нет полей сверху макет и расположение .
Другой вариант установки который предлагается - тоже не подходит для 2.1.0.1.1 (вот этот вариант после пункта установки) Меню > Система > Дизайн > Макеты > Макет-категории (Category) , так как в категории, в самом меню- Система нет подкатегории - дизайн,дизайн самостоятельная категория в нашем случае , а подкатегорию макеты я вообще нигде не увидела . Получается что если ориентироваться даже на способ :

1. Включаем модуль фильтра в Модулях.
2. В макетах добавляем его на макет категорий
3. Меню - Каталог - Фильтры, добавляем группу фильтров и сами фильтры.
4. В товара на закладке Связи, в поле Фильтр выбираем нужные фильтры
5. В категориях тоже на закладке Связи, в поле Фильтр выбираем нужные фильтры

то как осуществить пункт номер 2 не понятно. Напишите , пожалуйста, по этапно для моей версии


По 2 пункту, перейти Система -> Дизайн -> Макеты
Редактировать напротив Category (Категории) там добавить фильтр. Сохранить
Тут инструкция со скриншотами
14 фев 2016 16:36#87
Zhezkazganetcs написал(а): ↑работает но не совсем корректно
если мы выбираем в категории по фильтру Exide
портом с категории идем в подкатегорию в которой вообще не установлены фильтры, допустим подкатегория 180-225Ah, то там вообще нет никаких товаров
таким образом если после выбора Exide пойти в подкатегорию, то если там есть Exide, то их только и покажет, а если нет, то будет абсолютно пустая подкатегория, хотя там товары есть

Да, тоже заметил. Поправил. Вроде помогло.
Вложения · 1
22 фев 2016 17:56#88
Здравствуйте. Подскажите как сделать чтобы при добавлении фильтра в категории выпадающий список фильтров был не 5 а например 10. Версия ocStore 2.1.0.2
22 фев 2016 18:17#89
sinattor написал(а): ↑Здравствуйте. Подскажите как сделать чтобы при добавлении фильтра в категории выпадающий список фильтров был не 5 а например 10. Версия ocStore 2.1.0.2

Открываем файл /admin/controller/catalog/filter.php
ищем 'limit' => 5
строка (у меня) 410 'limit' => 5 меняем на 'limit' => 10
22 фев 2016 18:18#90
sinattor написал(а): ↑Здравствуйте. Подскажите как сделать чтобы при добавлении фильтра в категории выпадающий список фильтров был не 5 а например 10. Версия ocStore 2.1.0.2

Для таких вопросов написан мод http://forum.opencart-russia.ru/threads/ocmod-nastrojka-limita-avtozapolnenija-cherez-adminku.2278/
22 фев 2016 20:12#91
Спасибо. Я сайт с 1.5.5.1.2 на ocStore 2.1.0.2 переделываю пока не все понял.
9 авг 2016 18:24#92
Может я конечно сильно упал с Престашопа, но я не впилил по полной.
Мне нужно фильтр, как на Экзисте в маслах: бренд, вязкость, состав и еще куча параметров.
в каждой такой категории много значений.
Тут установил фильтр и офигел, тут реально label. Хочется компактности и удобства для покупателя.
А именно, чтобы при выборе бренда, состава и вязкости выдавались результаты по фильтрам.
Подскажите пожалуйста решение! ОС у меня 2.2.
9 авг 2016 18:46#93
@Ecsiron никто не запрещает переделать модуль фильтр под свои вариант отображения.
Есть вариант купить допустим Mega Filter Pro
9 авг 2016 19:13#94
solunski.d написал(а): ↑@Ecsiron никто не запрещает переделать модуль фильтр под свои вариант отображения.
Есть вариант купить допустим Mega Filter Pro

Спасибо за совет потратить деньги, но печатный станок в США.
Есть другие и бесплатные варианты?)
10 авг 2016 13:58· изменено#96
scoulz написал(а): ↑Хмммм...перечитал тему, но проблема не решилась. Автозаполнение не срабатывает. В итоге вижу только 5 фильтров и всё. Где копать?


Я вот в гитхаб послал эти исправления) Думаю, что мои две строчки он одобрит и это исправится к следующей версии.

P.S. Даниель ответил:
not using this crap! irt would also crash a server setting the limit to 999

upload/admin/controller/catalog/filter.php
'limit' => 9999 тут по умолчанию стоит 5 наверное у некоторых сервера первом пентиуме(
Эти лимиты во всех файлах... у себя оставил 50

и добавил предложенный код:
php
upload/admin/view/stylesheet/bootstrap.css
2723
- background-clip: padding-box; }
+ background-clip: padding-box;
+ max-height: 300px;
+ overflow-y: auto; }

upload/catalog/model/catalog/product.php
97
+
+ $minq=$this->db->query("SELECT id.product_id FROM(SELECT product_id, count(i.product_id) as t, c.filter_group as b FROM
+ (SELECT
+ f.filter_id, f.product_id, p.filter_group_id
+ FROM
+ ". DB_PREFIX ."product_filter f
+ left join ". DB_PREFIX ."filter p ON p.filter_id = f.filter_id
+ where
+ p.filter_id IN (" . implode(',', $implode) . ")
+ GROUP BY product_id , filter_group_id) as i,
+ (select count(distinct filter_group_id) as filter_group
+ from
+ ". DB_PREFIX ."filter_description f_b
+ WHERE f_b.filter_id in (" . implode(',', $implode) . ")) as c
+ GROUP BY product_id
+ HAVING t = b) as id");
+
+ $min=array();
+
+ for($x=0;$x<count($minq->rows);$x++){
+ foreach($minq->rows[$x] as $value){
+ $min[]=$value;
+ }
+ }
+
+ $imp=implode(',',$min);

155
$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";
}
+ if(isset($filters)){
+ if(!count($min)){
+ $imp='0000000';
+ }
+
+ $sql .= " AND p.product_id IN(".$imp.")";
+ }
$sql .= " GROUP BY p.product_id";
$sort_data = array(
17 сен 2016 10:56#97
Можно ли сделать или может модуль есть. Нужно чтобы неиспользуемые параметры в стандартном фильтре автоматически скрывались, если нет товаров с таким параметром фильтрации. На 1.5 модуль был а вот на 2.1 никак не найду.
29 сен 2016 21:43#98
Всем спасибо! Была такая же проблема
"Хмммм...перечитал тему, но проблема не решилась. Автозаполнение не срабатывает. В итоге вижу только 5 фильтров и всё. Где копать?"
Достаточно исправить в файле /admin/controller/catalog/filter.php параметр 'limit' на число побольше и все фильтры будет видно. У меня по умолчанию стояло 20. Чуть с ума не сошел.
26 окт 2016 19:33#99
Подскажите, в чем может быть проблема?
У товара установлены значения трех атрибутов. По любому из этих трех фильтруется нормально, но если я выбираю сразу 2 или три атрибута то получаю "В этой категории нет товаров"
26 окт 2016 22:38#100
Я так понимаю, что у Вас есть хотя бы один товар который подходит под все атрибуты? Возможно просто товар не имеет всех или двух атрибутов сразу?
сообщения 81–100 из 136
Чтобы ответить, войдите или зарегистрируйтесь.

Похожие темы