Так можно просто отфильтровать имеющиеся категории через плагин. Какая разница? Мне кажется, Вы просто не совсем понимаете, что можно и что нельзя сделать стандартными средствами. Зачем сразу в модель лезть и что-то там переопределять?
Я еще раз о пищу задачу. К примеру у меня есть доп поле: цвет (красный, синий, зеленый). 20 материалов у меня краных а 30 синих, а 60 материалов где и краный и синий.
Вопрос как сделать пользовательский фильтр чтобы вывести только те материалы, в которых выбран красный (самый простейший фильтр, который пишется сразу в запросе через where regexp).
И при этом не писать свой компонент, или переопределять модель.
Просто если в в url get параметр &color=red, то вывести только те материлы где доп поле color имеет занчние красный.
Категориями тоже делать не вариант ибо у меня там еще 10 доп полей кроме цвета по которым тоже надо фильтровать.
А при unset пагинация и лимиты будут работать не коректно и на одной страницу будет 7 материалов а на другой вообще 0
что быстрее отфильтруется: строки на сервере базы или же обычный цикл foreach с unset.
При таком раскладе пагинация и gettotal будут все равно считать все материалы этой категории. Запрос базу используются дважды, не забывайте об этом.
Если же вы покажете мне как это сделать по другому я буду только рад. Но задача именно такова, ни какого доп компонента, ни каких манипуляций с моделью, нормальная(отфильтрованная) пагицния и тотал и все за один плагин, ну и модуль чтобы просто вывести "галочки"
Самый что ни наесть простейший фильтр по доп полям. Хотя еще не плохо так же фильтровать по тэгам, дате и категории(что тоже не сложно, имея тригер на запрос к базе).
Самый банальный каталог с фильтром по дом полям, ну скажем каталог одежды, я уже не говорю про доски объявлений и т.п с которыми любой круный cck справиться очень легко