Привет гость!

Приветствуем тебя на нашем форуме! Мы очень рады тебя видеть и с большим удовольствием поделимся всей информацией нашего форума!

Мы уважаем своих пользователей и так же ждем от тебя приятного общения.

xSort by Sander

lopster

admin
Команда форума
ADMIN
Регистрация
07.06.2022
Сообщения
1 906
Реакции
1 274
Замена стандартной сортировки новостей с возможностью сортировать по доп.полям, а так же небольшой фильтр.



Модуль выводится в main.tpl тегом {include file="..."} и выглядит следующим образом:
1756988869432.png


О сортировке​

Изначальное состояние окна выбора сортировки:
1756988878065.png


При выборе какого-либо пункта перезагрузка контента выполняется на ajax (без перезагрузки страницы). Изначально контент сортируется от большего к меньшему. Выбрав "год", в самом начале будут отображаться новости 2016 года.

После выбора, у кнопка появляется подсветка:
1756988889812.png


И развернутый вид:
1756988895053.png


При повторном клике на ту же сортировку, результат выдачи инвертируется, т.е. идет сортировка уже от меньшего к большему.
1756988913794.png


Примечание: При сортировке по алфавиту, от большего к меньшему сортировка будет развернутая. Т.к. буква "Я" - больше чем буква "А". Для таких случаев в настройках есть параметр реверса с помощью которого можно развернуть изначальную выдачу.
Все пункты сортировки легко можно поменять, удалить или добавить.

О фильтре.
Пользователь может выбрать только по одному пункту в каждом блоке. Вот к примеру боевик 2015 года отсортированный по рейтингу кинопоиска:
1756988925856.png

Выбрать одновременно 2 пункта в одном блоке - невозможно. Чтобы можно было выбрать, скажем "боевик и вестерн" - необходимо будет создать 2 блока с перечнем жанров. В одном блоке можно выбрать только один пункт. Изменить или "доработать" это нельзя.

Рассмотрим вариант разделения пунктов выборки значений одного поля по разным блокам.
У меня в поле "жанр" помимо жанров, так же указывается тип мультфильма: "мультфильм" или "аниме".

Например в фильме "Зверополис" в поле жанр указано: "боевик, комедия, мультфильм, приключения, семейный"
Таким образом можно выбрать 2 значения жанра: мультфильм и боевик:
1756988936749.png


Фильтр и сортировка работают в пределах просматриваемой страницы. Т.е. в категории "Сериалы" будет выполняться фильтр только среди сериалов.
Например - русский сериал мелодрама 2016 года:
1756988947373.png


Так же фильтр и сортировка могут работать на страницах поиска по доп. полям (не путать со стандартным поиском, там не работает).
Например мы хотим посмотреть фильм где снимались одновременно Шварценеггер и Сталлоне.
Для этого открываем страницу /xfsearch/Арнольд+Шварценеггер/ и в фильтре выбираем Сталлоне, в результате получим:
1756988954279.png


Особенности
- Модуль предназначен только для пользователей. Поисковики индексировать такие страницы не будут. "Доработать" это невозможно.
- Выбор фильтра запоминается только для выбранной страницы. Выбрав фильтры в категории "фильмы" и перейдя в категорию "сериалы" все фильтры будут сброшены на значения "по умолчанию". Но при этом вернувшись обратно в категорию "фильмы" все фильтры будут отмечены. Но если выбрать фильтр в категории сериалов и вернуться в фильмы, то будет наоборот - в категории "фильмы" все будет по нулям, а в категории "сериалы" запомнятся выбранные значения.
- Модуль никак не влияет на содержимое и заполнение новостей. Он только сортирует и фильтрует новости на основании тех данных, что указаны в новости.
- Для каждой категории/раздела можно настроить свои блоки. Например в категориях "фильмы" и "сериалы" блок "тип м/ф" совершенно не нужен, поэтому для каждой группы категорий можно настроить свои поля. Это делается через строку подключения:
[category=1,2]{include file="....php?fields=year,genre,actors,director,strana,oscar,hd,ru"}[/category]
[not-category=3,4,5]{include file="...."}[/not-category]


+Bonus
Т.к. админки нету, я решил сделать небольшую "лентяйку". Она формирует список всех значений доп.полей в формате конфиг файла.
1756988960518.png

Информация
  • Для работы модуля - требуется ionCube Loader.
  • Версия DLE: 9.6 - 17.3
  • Версия PHP: 7.1 - 7.4, 8.1, 8.2
 

Вложения

  • 1756988901333.png
    1756988901333.png
    48,8 КБ · Просмотры: 1
  • xSort by Sander v.1.5.4.zip
    52,4 КБ · Просмотры: 3
Приваточка админа⭐️
Сливы девушки админа
https://t.me/+1V19M_GECpgwMDI6
Спам - Полное обнуление аккаунта!
Выпрашивание реакций - Обнуление + предупреждение/бан!
Все сообщения проходят модерацию!