Gameer 310 Опубликовано: 19 мая 2018 Рассказать Опубликовано: 19 мая 2018 С помощью этого простого модуля вы сможете реализовать у себя фильтр по дополнительным полям. Модуль полностью работает на AJAX, никакой перезагрузки страницы. А так же имеет базовые настройки. Требования к системе: Версия DLE: 13.0 и выше Поддерживаемая кодировка: UTF-8 Версия php: 5.4 и выше Так как на форуме нельзя заливать ни скриншотов, ни файлов ниже прилагаю ссылки. Скачать и посмотреть скриншоты - https://punpun.name/portfolio/56-easy-filter.html Документация по модулю - https://punpun.name/doc/easy-filter.html 2 Цитата Ссылка на сообщение Поделиться на других сайтах
Mek 99 Опубликовано: 1 июня 2018 Рассказать Опубликовано: 1 июня 2018 Поставил данный фильтр по инструкции, но вместо картинок со скриншотов, отображается: Соответственно ничего не фильтруется. Как заставить его работать и вывести хотя бы ползунок сортировки по годам, как на скриншоте в первом сообщении? Цитата Ссылка на сообщение Поделиться на других сайтах
Gameer 310 Опубликовано: 1 июня 2018 Рассказать Опубликовано: 1 июня 2018 Автор 14 минут назад, Mek сказал: Поставил данный фильтр по инструкции, но вместо картинок со скриншотов, отображается: Соответственно ничего не фильтруется. Как заставить его работать и вывести хотя бы ползунок сортировки по годам, как на скриншоте в первом сообщении? 1. Стили вашего сайта могут конфликтовать со стилями модуля. В новой версии я полностью прикреплю стили к самому фильтру и тогда проблем не будет. 2. Для вывода данных у нас есть два tpl файла, первый это filter_block.tpl и filter_value.tpl. В первом мы задаем сам блок внутри которого будут наши данные. Например: [janre] <div class="fb-sect-name">Выберите жанр</div> <div class="fb-sect fb-sel"> <select name="janre" multiple data-placeholder="Выберите жанр"> <option value=""> - </option> {janre-value} </select> </div> [/janre] [janre]любой текст внутри[/janre] - создает блок с оформление вашего дополнительного поля с названием janre. Вы можете подставлять любое дополнительное поле вместо janre. {janre-value} - будет выводить оформление значений вашего дополнительного поля с названием janre. А оформление значений берется с filter_value.tpl Внутри filter_value.tpl задаете [janre] <option value="{value}" data-key='{key}-{value}' {disabled} [check]selected[/check]> {value} ({count})</option> [/janre] [janre]любой текст внутри[/janre] - нужен для того что бы прикрепить дизайн значений именно к дополнительному полю janre. {value} - это уже не посредственно тег который выведет значение дополнительного поля. data-key='{key}-{value}' - нужен для работы модуля. Его всегда нужно вставлять в ваше оформление значений. {disabled} - это тег который отвечает за то что бы не давать пользователю выбирать значения у которых не осталось новостей для показа. [check]selected[/check] - нужен для того что бы когда блок фильтра обновлялся ваши данные в select или input type=radio / checkbox не пропадали как выбранные. Для input type=radio / checkbox нужно прописать [check]checked[/check]. {count} - это количество новостей с этим значением дополнительного поля - в данном случае janre. А так же количество будет меняться по мере выбора других данных в фильтре. Для того что бы задать слайдер. Создайте в filter_block.tpl ваш блок дополнительного поля, потом в filter_value.tpl привяжите его оформление и внутри вставьте [year] <input type="text" name="slider-{key}" data-ionRangeSlider='ionRangeSlider' data-key='{key}'> [/year] year просто как пример. Далее откройте /templates/Ваш шаблон/mod_punpun/easy_filter/js/easy_filter.js и внутри функции SliderInit внутри $(function() { вставьте $("[name=slider-year]").ionRangeSlider({ min: 1990, max: 2019, from: 1990, to: 2019, type: 'double', prefix: "Год ", grid: true, grid_num: 10 }); Выйдет что-то вроде этого function SliderInit() { $(function() { $("[name=slider-year]").ionRangeSlider({ min: 2010, max: 2019, from: 2010, to: 2019, type: 'double', prefix: "Год ", grid: true, grid_num: 10 }); }); } Я планирую полностью переписать фильтр, может есть у вас какие-то предложения. Сообщите их тут. Цитата Ссылка на сообщение Поделиться на других сайтах
Mek 99 Опубликовано: 1 июня 2018 Рассказать Опубликовано: 1 июня 2018 (изменено) 2 часа назад, Gameer сказал: может есть у вас какие-то предложения. Сообщите их тут. С выпуском DLE13 версии решили свести до минимума правки движка при установке сторонних модулей, но при установки этого модуля опять приходится править код. Правда уже самого модуля. Сделайте чтоб модуль автоматически подтягивал (хотя бы) все доп поля с сайта. И чтоб на 100% всё настраивалось через админку. Вместо пункта "Исключить категории", лучше сделать пункт "Категории для фильтрации" в котором нужно выбрать все категории по которым будет работать фильтр. Далее сделать выбор доп полей для фильтрации и у каждого возможность выбора: 1- Множественный выбор. 2-Чекбокс. 3-Список. Для доп поля "год" автоматически делать слайдер. Вот в принципе и всё! Выбрал категории, задал разброс по годам, поставил чекбокс на против нужных авторов и всё. Не нужно усложнять и нагружать модуль, всё должно быть просто и интуитивно понятно. Настройку "Сортировать по умолчанию" можно сделать доступно пользователю, чтоб он сам выбирал какую сортировку он хочет получить. Примерно вот так: Изменено 1 июня 2018 пользователем Mek Цитата Ссылка на сообщение Поделиться на других сайтах
Gameer 310 Опубликовано: 1 июня 2018 Рассказать Опубликовано: 1 июня 2018 Автор 44 минуты назад, Mek сказал: С выпуском DLE13 версии решили свести до минимума правки движка при установке сторонних модулей, но при установки этого модуля опять приходится править код. Правда уже самого модуля. Это не правки кода движка и даже не правки кода модуля, это его настройка. 1 час назад, Mek сказал: Сделайте чтоб модуль автоматически подтягивал (хотя бы) все доп поля с сайта. И чтоб на 100% всё настраивалось через админку. Вместо пункта "Исключить категории", лучше сделать пункт "Категории для фильтрации" в котором нужно выбрать все категории по которым будет работать фильтр. Далее сделать выбор доп полей для фильтрации и у каждого возможность выбора: 1- Множественный выбор. 2-Чекбокс. 3-Список. Для доп поля "год" автоматически делать слайдер. Ок. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Spyhog 65 Опубликовано: 1 июня 2018 Рассказать Опубликовано: 1 июня 2018 Есть предложение. Например, у нас две категории - Фильмы и Сериалы. И есть одно дополнительное поле - Язык. И вот если выбрать, например, Русский, то фильтр выведет и фильмы и сериалы на русском. А хотелось бы, чтобы в категории Фильмы он выводил только фильмы, а в Сериалах сериалы. То есть используется одно дополнительное поле, но фильтрация происходит в пределах категории. Цитата Ссылка на сообщение Поделиться на других сайтах
Mek 99 Опубликовано: 1 июня 2018 Рассказать Опубликовано: 1 июня 2018 1 час назад, Spyhog сказал: Есть предложение. Например, у нас две категории - Фильмы и Сериалы. И есть одно дополнительное поле - Язык. И вот если выбрать, например, Русский, то фильтр выведет и фильмы и сериалы на русском. А хотелось бы, чтобы в категории Фильмы он выводил только фильмы, а в Сериалах сериалы. То есть используется одно дополнительное поле, но фильтрация происходит в пределах категории. Ну так так оно и есть. Выбираете категорию "Фильмы" и ставите галочку на против языка "Русский". И выводятся все фильмы на русском языке. Добавляете в фильтр две категории, и он начинает искать фильмы и сериалы на русском. Цитата Ссылка на сообщение Поделиться на других сайтах
Spyhog 65 Опубликовано: 1 июня 2018 Рассказать Опубликовано: 1 июня 2018 24 минуты назад, Mek сказал: Ну так так оно и есть. Выбираете категорию "Фильмы" и ставите галочку на против языка "Русский". И выводятся все фильмы на русском языке. Добавляете в фильтр две категории, и он начинает искать фильмы и сериалы на русском. Мне не надо выбирать категории вручную. Мне нужна лишь сортировка по языку в пределах категории. Чтоб не было лишних функций, а была только надпись Выберите язык и всё. Цитата Ссылка на сообщение Поделиться на других сайтах
Gameer 310 Опубликовано: 4 июля 2018 Рассказать Опубликовано: 4 июля 2018 Автор Вышла версия 2.0.0 для бета тестирования. Цитата Ссылка на сообщение Поделиться на других сайтах
Mek 99 Опубликовано: 6 июля 2018 Рассказать Опубликовано: 6 июля 2018 Gameer, да сделайте вы наконец демо версию своего модуля!!! Чтоб было наглядно видно как он работает. 3 1 Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 55 Опубликовано: 17 ноября 2018 Рассказать Опубликовано: 17 ноября 2018 А почему не работает страница документации https://punpun.name/doc/easy-filter.html и перекидывает на сайт lazydev.pro где об этом модуле ни слова нет? Цитата Ссылка на сообщение Поделиться на других сайтах
Gameer 310 Опубликовано: 17 ноября 2018 Рассказать Опубликовано: 17 ноября 2018 Автор 1 час назад, ntrtv сказал: А почему не работает страница документации https://punpun.name/doc/easy-filter.html и перекидывает на сайт lazydev.pro где об этом модуле ни слова нет? Потому что модуль еще не выложен на основном сайте. Цитата Ссылка на сообщение Поделиться на других сайтах
clavik1312 0 Опубликовано: 9 апреля 2019 Рассказать Опубликовано: 9 апреля 2019 В 17.11.2018 в 20:52, Gameer сказал: Потому что модуль еще не выложен на основном сайте. видимо его не собираются выкладывать на основной сайт Цитата Ссылка на сообщение Поделиться на других сайтах
VGreen 9 Опубликовано: 20 июня 2019 Рассказать Опубликовано: 20 июня 2019 В 19.05.2018 в 22:14, Gameer сказал: С помощью этого простого модуля вы сможете реализовать у себя фильтр по дополнительным полям. Модуль полностью работает на AJAX, никакой перезагрузки страницы. А так же имеет базовые настройки. Требования к системе: Версия DLE: 13.0 и выше Поддерживаемая кодировка: UTF-8 Версия php: 5.4 и выше Так как на форуме нельзя заливать ни скриншотов, ни файлов ниже прилагаю ссылки. Скачать и посмотреть скриншоты - https://punpun.name/portfolio/56-easy-filter.html Документация по модулю - https://punpun.name/doc/easy-filter.html Здравствуй. Установил, разобрался, но есть баг. Если доп поле содержит пробел то выдает ошибку синтакиса (ниже скрин). Ни кто не знает как это исправить? Цитата Ссылка на сообщение Поделиться на других сайтах
VGreen 9 Опубликовано: 21 июня 2019 Рассказать Опубликовано: 21 июня 2019 Может кому полезно будет, проблему удалось решить использованием связки Сервировочный столик|Сервировочный столик то есть при добавлении доп поля типа список используем разделитель и то что должно показать на сайте вместо пробела используем его код, а то что должно показывать когда новость добавляешь уже просто ставим пробел 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.