Вы не зашли.
Существует некий плагин xfilter, который умеет фильтровать новости по указанным xfields (прикрепил к посту). Однако в последних SVN он уже не работает, судя по всему - из-за изменений в плагине xfields.
Суть запроса в реанимации и доработке плагина, с последующим развитием и прикреплению к релизам CMS.
Реанимация и базовые требования к плагину:
0. Плагин должен работать
1. Плагин должен работать в main.tpl
2. Плагин должен работать с типами доп.полей "Выбор значения" input>select
3. Плагин должен считывать существующие все возможные доп.поля у новостей и предлагать их пользователю в виде выпадающих списков
4. Плагин должен уметь считывать существующие категории и подкатегории новостей, перед доп.полями предлагать выпадающий список категорий и подкатегорий (указывать категории или нет - опционно)
5. Плагин должен уметь считывать группы доп.полей, используемые в тех или иных категориях (если такие предустановлены)
6. Выбор того или иного доп.поля и категории\подкатегории не является обязательным. По умолчанию во всек списках стоит "неважно". Достаточно выбрать одно значения (или вовсе ниодного?)
7. Список подкатегорий зависим от выбранной категории: пока категория не выбрана или если у выбранной категории подкатегорий нет - список подкатегорий неактивен, иначе - предлагаются только те подкатегории, которые существуют в указанной категории
8. Список доп.полей зависим от выбранной категории\подкатегории: пока категория\подкатегория не выбраны - доп.поля указываются все. Иначе - только группы доп.полей, характерные для выбранной категории\подкатегории (если такие предустановлены)
9. По нажатию submit искать новости по указанным категориям и фильтрам.
Схематически и последовательно выглядит так:
Категория: Подкатегория: Область: Город:
- Неважно - Неважно - Неважно - Неважно --> Искать
Категория: Подкатегория: Область: Город:
- Неважно - Неважно - Неважно - Неважно --> Искать
- Квартиры
- Дома
- Дачи
Категория: Подкатегория: Область: Город:
+ Квартиры - Неважно - Неважно - Неважно --> Искать
- 1комн.
- 2комн.
- 3комн.
Категория: Подкатегория: Область: Город:
+ Квартиры + 2комн. - Неважно - Неважно --> Искать
- Киевская
- Донецкая
- Крым
Категория: Подкатегория: Область: Город:
+ Квартиры + 2комн. + Киевская - Неважно --> Искать
- Борисполь
- Бровары
- Киев
Категория: Подкатегория: Область: Город:
+ Квартиры + 2комн. + Киевская + Киев --> Искать
Здесь изображён пример фильтра в категории "Квартиры". В других категориях будут подставляться другие значения.
Конечно же, возможен поиск и по одному или нескольким из указанных параметров.
Дополнительные требования и возможности плагина:
*10. Возможность работы с plugin multi_main (если это нужно дополнительно дорабатывать)
*11. Работа фильтра в категории\подкатегории: плагин должен понимать, в какой категории\подкатегории пользователь находится и вносить изменения в вып.списки (указать категорию\подкатегорию в выпадающем списке и деактивировать его, подставить в вып.списках возможные для данной категории\подкатегории значения доп.полей, если группы доп.полей предустановлены для данной категории\подкатегории):
(зачёркнутый = неактивный)
Категория: Подкатегория: Область: Город:
+ Квартиры + 2комн. - Неважно - Неважно --> Искать
- Киевская
- Донецкая
- Крым
*12. Возможность добавления неактивного зависимого дочернего фильтра: значения в дочернем фильтре зависят от выбора значения в родительском фильтре, дочерний фильтр неактивен, активируется только при выборе значения в фильтре-родителе. Например, нам не нужно показывать пользователю в выпадающем списке бесчисленные жилые районы всех городов Украины, но мы покажем районы того города, который он выберет в предыдущем списке:
(зачёркнутый = неактивный)
Категория: Подкатегория: Область: Город: Район:
+ Квартиры + 2комн. + Киевская - Неважно - Неважно --> Искать
Категория: Подкатегория: Область: Город: Район:
+ Квартиры + 2комн. + Киевская + Киев - Неважно --> Искать
- Борщаговка
- Голосеевкий
- Дарница
- Дорогожичи
*13. Возможность выбора и поиск по нескольким значениям в одном фильтре (input type="checkbox")
*14. Подумать о возможности независимой работы плагина xfilter, без плагина xfields:
- 14.1. Вынос в настройку плагина всех возможных фильтров для каждой категории\подкатегории новостей; указание категорий в которых фильтр будет использоваться (детали - по восстребованию)
- 14.2. Добавление плагина в engine> add.tpl и edit.tpl, где, собственно, фильтры и будут указываться, с учётом заданной категории\подкатегории
- 14.3. Вывод кликабельного фильтра в news.short
- 14.4. Вывод фильтра в news.full
*15. Экспорт фильтров в xnews
*16. Ассимиляция плагина c расширенным поиском
Почему этот плагин важен для NGCMS: Основной целью практически любого сайта является предоставление пользователю конечной информации о новости\товаре\продукте и пр. или группе новостей\товаров\продуктов в той или иной категории для последующего ознакомления, сравнения, выбора... Ну и, соответственно, целью пользователя есть поиск этой конечной информации. Однако часто бывает достаточно трудно донести эту конечную информацию пользователю при наличии большого количества, скажем, товаров, а следовательно - категорий, подкатегорий и множества характеристик у единиц товара. А ведь мы хотим "уговорить" клиента, предложить всё, что у нас есть по его запросу. NGCMS пока не обладает достаточным функционалом для быстрого поиска нужного (а значит - для быстрого отсеивания ненужного) пользователю контента. Введение в функционал CMS такого плагина мгновенно расширит её удобство и универсальность, и конечно же удобство и простоту в использовании интернет-ресурсов на NGCMS, в особенности сайтов, которые представляет собой большие каталоги информации, ссылок, товаров или интернет-магазины.
Вопрос цены: Я не проггер, верстальщик, но учусь. Пока осилить плагин сам, увы, не в силах. Интересует, во сколько обойдётся перевести вышеуказанные базовые требования к плагину с русского на пхпшный. Заодно предупреждаю, что денежными ресурсами не особо обладаю , и приглашаю спонсоров присоединиться.
Изменено nimiko (2013-06-22 05:19:13)
Не в сети
возможно и будет после релиза
жизнь бьёт ключом......,ну иногда и гайкой.....
Хаки и Скрипты| Бесплатные шаблоны NGCMS
На Районе - Шахтинск Украшение Windows
Не в сети
Вообщем не думаю, что что-то стоит ожидать. Тут даже релиз под угрозой а вы ещё о каких-то плагинах говорите...
Не в сети
Разобрался Допилил плагин под свои нужды. Выкладываю то, что получилось - версия 0.02
0. Плагин должен работать
1. Плагин должен работать в main.tpl
2. Плагин должен работать с типами доп.полей "Выбор значения" input, select
3. Плагин должен считывать существующие доп. поля у новостей и предлагать их пользователю в виде выпадающих списков
4. Плагин должен уметь считывать существующие категории новостей, перед доп.полями предлагать выпадающий список категорий (указывать категории или нет - опционно)
6. Выбор того или иного доп.поля и категории\подкатегории не является обязательным. По умолчанию во всек списках стоит "неважно". Достаточно выбрать одно значение.
9. По нажатию submit искать новости по указанным категориям и фильтрам.
Вышеуказанное работает в SVN 1212.
Жду советов. Буду по возможности еще допиливать.
Изменено Zemlemer (2013-10-26 21:43:17)
Не в сети
Всё отлично работает, огромное спасибо Однако для работы фильтра доп.полям нужно указывать персональное поле в БД. Об этом не сказано в описании.
Было бы отлично прикрутить теперь и зависимость доп. полей в фильтре от выбранной (в предыдущем фильтре) категории.
К примеру, чтобы в категории "Сигареты" можно было выбрать только -с фильтром -без фильтра или -с мундштуком. А в категории "Письменные столы" только -дубовый -кленовый -ореховый...
Вряд ли кого-то заинтересуют дубовые сигареты или письменные столы с мундштуком. Да и вряд ли продавец сможет предложить такой товар. В общем, думаю, концепция понятна...
Zemlemer, Спасибо за труды! )
Не в сети
Спустя год плагин понадобился наконец для нового проекта, поэтому встречайте - версия 0.03
Что сделано:
+ создан файл конфигурации для плагина
+ добавлена возможность указания списка категорий, которые не нужно отображать в фильтре
+ добавлена возможность запрета / разрешения выбора из всех категорий
+ добавлена возможность настройки порядка вывода новостей и количества выводимых новостей
+ добавлена возможность выбора шаблона для отображения (шаблон сайта / шаблон плагина)
% для дополнительных полей типа input не учитываются пустые значения
В общем, уже похоже на что-то пристойное
Что надо сделать еще:
1. Код переписан с использованием параметра overrideSQLquery, который в функции news_showlist отключает постраничку. Поэтому пока вывод новостей плагином работает без неё.
Если кто-то подскажет, как это исправить (корректно реализовать работу с постраничкой), буду благодарен.
2. Вывод доп. полей внутри категорий (то, что просил nimiko) - пока непонятно, как реализовать. Может, позже руки дойдут.
3. Небольшой косяк: если нажать кнопку, ничего не выбирая, то список скрываемых категорий не генерится (то есть отобразятся новости из всех категорий). У себя пока устранил, просто сняв галочку "Отображать на главной" в новостях из скрываемой категории.
Прошу тестировать. Замечания и советы приветствуются!
upd: исправлено: не отображались новости с указанной дополнительной категорией. Файл перезалит.
Изменено Zemlemer (2014-12-28 16:11:19)
Не в сети
А ссылочку на плагин-то можно? )
чуть выше твоего поста
Прикрепленные файлы:
xfilter03.zip, Размер: 6,622 байт, Скачано: 1
http://ngcms.ru/forum/attachment.php?item=1029
Изменено irbees2008 (2014-12-28 13:15:01)
жизнь бьёт ключом......,ну иногда и гайкой.....
Хаки и Скрипты| Бесплатные шаблоны NGCMS
На Районе - Шахтинск Украшение Windows
Не в сети
Не-не, ребят. Я просто приложенных файлов не вижу. А прямая ссылка к аттачменту от irbees2008 не даёт файл. Видимо, какой-то не очень хороший человек мне права доступа «подкрутил».
Можете залить куда-нить на внешний ресурс? Я бы скачал и потестил. Спасибо за работу над плагином!
Уже не надо. Создал ещё один аккаунт на форуме. Там всё норм
Изменено nimiko (2014-12-28 13:58:26)
Не в сети
жизнь бьёт ключом......,ну иногда и гайкой.....
Хаки и Скрипты| Бесплатные шаблоны NGCMS
На Районе - Шахтинск Украшение Windows
Не в сети
irbees2008, спасибо, уже скачал с другого аккаунта.
Zemlemer, всё, что заявлено, вроде бы функционирует. Работают доп. поля.
Но есть одна проблема с категориями: если посту указать две категории - родительскую и ребёнка (квартиры + однокомнатные), то фильтр отображает пост для родительской (квартиры), но не видит пост из категории-ребёнка (однокомнатные).
Не в сети
Zemlemer, работает, спасибо!
Ещё заметил один момент - при блокировке ID родительской категории дочерние всё равно отображаются. Получается что-то вроде:
- все -
— подкатегория 1
— подкатегория 2
— подкатегория 3
Категория 2
Категория 3
Конечно, можно закрыть по ID и все подкатегории этой категории. Но если их очень много?
Изменено nimiko (2014-12-28 16:28:25)
Не в сети
Более того, если из следующего списка исключить Категорию 2:
- все -
Категория 1
Категория 2
— подкатегория 1
— подкатегория 2
— подкатегория 3
Категория 3
мы получим
- все -
Категория 1
— подкатегория 1
— подкатегория 2
— подкатегория 3
Категория 3
А это будет вводить в заблуждение. Подкатегории-то не относятся к Категории 1.
Не в сети
Не в сети
Всё гуд! Один момент, поле «Категории, которые НЕ нужно отображать (ID через запятую)» не должно быть пустым. По умолчанию - 0 (ноль). Иначе
MySQL ERROR [select]: SELECT id AS catid FROM ng_category WHERE parent in ()
(1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
Не в сети