Плагин: замена логики модели Есть решение
Требуется изменить логику фильтра.
Требуется немножко изменить логику работы фильтра.
Нужна возможность настраивать логику фильтрации (и/или), на данный момент в любом случае стоит логика или.
1. В настройках купленного плагина я добавлю дополнительную ячейку в таблицу shop_feature (при установке плагина), так же сделаю возможность изменять значение ячейки в настройках плагина, ничего сложного тут нет, это не есть проблема.
2. Проблема Могу ли я плагином заменить логику фильтрации? Например что бы при открытии категории, фильтрация производилась не стандартной моделью фильтра, а обращалась к модели, которую я опишу в плагине?
Предположение
Наверное я могу это сделать экшеном, т.е. при открытии категории что бы обращение было к экшену плагина фильтрации а не к контроллеру категории, но это довольно таки большой кусок работы, и не хотелось бы этого делать. Ведь изменения в логике фильтра минимальны.
4 ответа
Только своим экшеном. Наследуйте всё от классов оригиналов. Копипастите без стыда. И меняйте лишь то, что нужно. Из недостатков - придется ручками заменить action форма фильтра.
ок, так и думал.
из минусов, если в обновлении движка что-то будет доработано, плагин тоже буду обновлять.
спасибо, Евгений!
Фильтр должен уметь делать выбор и "ИЛИ" - для бренда, например и "И" для конкретных характеристик. Конечно, выбор большинства характеристик (производитель, размер, разрешение, память, ядра процессора, ОС и т.п. действительно нужны по "ИЛИ". А вот "И" требуется для разъемов, например, для слотов карт памяти или сим-карт и т.п. Это будет правильно для выбора любой техники от ноутбуков до сотовых телефонов или фотоаппаратов:
Иду на Яндекс-маркет: Хоу выбрать ноутбук чтобы в нем был "И" порт Thunderbolt 3 "И" порт USB 2.0:
Поставил на галку напротив Thunderbolt 3
получил результат 723 модели. Ок
Далее хочу сузить поиск и из них отобрать только те, в которых ЕЩЕ присутствует порт USB 2.0 - остальные модели меня не интересуют:
Ого! Получаю 5867 моделей И? Что дальше? Как быть? Как теперь найти где И Thunderbolt 3 И USB 2.0? Зачем этот фильтр? Чем он мне помог сузить поиск?
Вывод: не стоит слепо смотреть на всех и говорить: "Да у всех так сделано!" Если у всех так сделано, то зачем тогда вы вообще делаете еще один такой же посредственно-скопированный с других движок?! Где здравый смысл, где инновации, где забота о пользователе, в конце-концов, который потом этим будет пользоваться? А написать одно предложение в фильтрах с разъяснением что значит "И" и "ИЛИ" разве великая проблема?
P.S. Ну и раз уж вы любители смотреть на крупные интернет-магазины обратите внимание на Ситилинк (citilink.ru) там как сделана правильная логика (всего из 1647 вариантов мне 5 из ноутбуков осталось выбрать с Thunderbird-3 и USB 2.0:
ну или notik.ru (та же логика, действительно уменьшение выборки, а не вывод всего подряд где это есть)
Коллеги, прошу прокомментировать.
https://support.webasyst.ru/fo...