Курс: 1 USD = 99 RUB

SanDev's Shop

Цена: $3 ($2)

››› xSort by Sander v.1.5.4

Опубликован: 2023-10-21, 17:34

xSort by Sander v.1.5.4

Замена стандартной сортировки новостей с возможностью сортировать по доп.полям, а так же небольшой фильтр.
Модуль выводится в main.tpl тегом {include file="..."} и выглядит следующим образом:
xSort by Sander v.1.5.4


О сортировке.
Изначальное состояние окна выбора сортировки:
xSort by Sander v.1.5.4

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

И развернутый вид:
xSort by Sander v.1.5.4

При повторном клике на ту же сортировку, результат выдачи инвертируется, т.е. идет сортировка уже от меньшего к большему.
xSort by Sander v.1.5.4

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


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

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

Рассмотрим вариант разделения пунктов выборки значений одного поля по разным блокам.
У меня в поле "жанр" помимо жанров, так же указывается тип мультфильма: "мультфильм" или "аниме".
Например в фильме "Зверополис" в поле жанр указано: "боевик, комедия, мультфильм, приключения, семейный"
Таким образом можно выбрать 2 значения жанра: мультфильм и боевик:
xSort by Sander v.1.5.4


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


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


Особенности
- Модуль предназначен только для пользователей. Поисковики индексировать такие страницы не будут. "Доработать" это невозможно.
- Выбор фильтра запоминается только для выбранной страницы. Выбрав фильтры в категории "фильмы" и перейдя в категорию "сериалы" все фильтры будут сброшены на значения "по умолчанию". Но при этом вернувшись обратно в категорию "фильмы" все фильтры будут отмечены. Но если выбрать фильтр в категории сериалов и вернуться в фильмы, то будет наоборот - в категории "фильмы" все будет по нулям, а в категории "сериалы" запомнятся выбранные значения.
- Модуль никак не влияет на содержимое и заполнение новостей. Он только сортирует и фильтрует новости на основании тех данных, что указаны в новости.
- Для каждой категории/раздела можно настроить свои блоки. Например в категориях "фильмы" и "сериалы" блок "тип м/ф" совершенно не нужен, поэтому для каждой группы категорий можно настроить свои поля. Это делается через строку подключения:
[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
Т.к. админки нету, я решил сделать небольшую "лентяйку". Она формирует список всех значений доп.полей в формате конфиг файла.
xSort by Sander v.1.5.4


Демо: film.sandev.pro


Информация
Стоимость модуля 3wmz
Лицензия выдается под 1 сайт.
Стоимость дополнительной лицензии: 3wmz
Для работы модуля - требуется ionCube Loader.
Версия DLE: 9.6 - 16.1
Версия PHP: 5.6 - 7.4, 8.1, 8.2

Важно! Установка и настройка модуля требует хороших знаний в DLE и базовых (поверхностных) знаний html/css/js
Т.е. необходимо отличать их друг от друга и уметь вставлять код (html, js, css) в соответствующий файл используемый в шаблоне.


Купить модуль: http://shop.sandev.pro/post/22.html

Контакты
ICQ: 404-037-556
Skype: Sander8804
E-Mail: olalod@mail.ru


История изменений
v.1.1 - 07.09.2019
+ Добавлена поддержка DLE 13.2

v.1.2 - 19.12.2019

v.1.2.1 - 22.01.2020
+ Добавлена поддержка LazyLoad
В JS коде модуля найти строку:
			$("#dle-content").html(html);

Ниже нее вставить:
			$("#dle-content img[data-src]").each(function(){
				$(this).attr('src', $(this).data('src'));
			});
//			location.reload();	//раскомментировать эту строку, если есть проблемы с popup окнами или другим JS интерактивом


v.1.2.2 - 03.04.2020
+ Добавлена возможность создания нескольких групп с выбором категории

v.1.2.3 - 09.04.2020
* Исправлен баг с отдельной 404.html страницей

v.1.3 - 02.03.2021
+ Добавлен новый метод работы поиска по доп.полю, который позволяет повысить точность поиска

v.1.3.1 - 05.07.2021
+ Добавлена поддержка DLE 14.3

v.1.4 - 08.11.2021
+ Добавлена поддержка DLE 15.0
+ Упрощена установка модуля

v.1.4.1 - 19.09.2022
+ Добавлена поддержка PHP 8.1

v.1.5 - 19.05.2023
+ Добавлена поддержка DLE 16.0

v.1.5.1 - 19.05.2023
* Исправлена сортировка по рейтингу и просмотрам на DLE 16.0

v.1.5.2 - 29.06.2023
* Исправлена ошибка MySQL в ситуации когда в настройках категории DLE задан индивидуальный параметр сортировки.

v.1.5.3 - 27.07.2023
* Исправлен подсчет количества новостей в категории при включенной опции подсчета количества новостей в категории для DLE 16+

v.1.5.4 - 21.10.2023
* Исправлена работа сортировки по рейтингу на странице категории
+ Добавлена поддержка PHP 8.2

С уважением,
Олег Александрович a.k.a. Sander