Данный модуль предназначен для легкого и удобного управления всеми custom блоками на вашем сайте.
Но главной и ключевой его особенностью является полноценная, удобная и безопасная организация AJAX навигации в custom блоке.
Отдельно что-либо описывать я не вижу смысла, лучше сразу показывать картинки и объяснять что и как там устроено.
Админка
Это основная (и единственная) страница управления custom блоками. На ней отображаются основные элементы управления и все блоки созданные модулем.
Кнопки управления:
Подробности - показать все параметры каждого блока. Я решил скрыть эти данные, чтобы не перегружать интерфейс.
Добавить - Открывает страницу добавления нового блока. Для удобства есть строка импорта, с её помощью можно легко и быстро клонировать custom блоки.
Настройки - Глобальные настройки модуля, они же настройки по умолчанию для блоков. Подробнее о каждом параметре будет описано ниже по ходу текста.
Ниже отображается список созданных блоков, где:
1. Холдер для перемещения блока, смены очередности блоков.
2. Статус блока, вкл/выкл.
3. Системное имя, только на латинице.
4. Описание блока, для удобства идентификации кто есть кто.
5. Тег подключения в шаблоне. Именно так будет прописываться блок вместо старого формата {custom ...}
6. Если включен этот параметр, то блок будет подгружаться только в тот момент, когда блок будет виден в окне браузера. В общем стандартный принцип работы LazyLoad. Но для работы этого параметра в движке обязательно должен быть включен штатный LazyLoad в настройках DLE. Если он выключен (или его нет), то LazyLoad в модуле так же не будет работать.
7. Загрузка блока по событию. Функционал в целом схож с LazyLoad, но если там загрузка осуществлялась при прокрутке скролла, то тут загрузка содержимого осуществляется посредством вызова соответствующей функции. В частности так можно реализовать работу блока в табах (как я и сделал на демо сайте).
8. Кеш. Просто кеш. Работает полностью посредством стандартного функционала кеширования DLE. Но к сожалению не совместим с моим хаком Custom-Cache
Как вы заметили, пункты 6, 7 и 8 имеют различную раскраску. Опишу подробнее логику.
Синий - параметр включен в глобальных настройках, в настройках блока стоит "по умолчанию"
Серый - параметр выключен в глобальных настройках, в блоке - "по умолчанию"
Зеленый - параметр включен в настройках блока.
Серый подчеркнутый - параметр выключен в настройках блока.
Серый - параметр выключен в глобальных настройках, в блоке - "по умолчанию"
Зеленый - параметр включен в настройках блока.
Серый подчеркнутый - параметр выключен в настройках блока.
Редактирование блока
В целом, полагаю, тут и так все понятно, но опишу параметры, которые могут вызвать вопросы.
Параметры {custom ...} - любые стандартные параметры, которые прописываются в теге. Исключением являются только параметры limit, cache и navigation. Так жа на данный момент не поддерживается работа шаблонных тегов внутри строки параметров.
Количество новостей - тот же limit, но прописывать и обрабатывать для навигации его необходимо обязательно отдельно.
Количество страниц - просто дополнительный параметр, если хочется, чтобы было ограниченное количество страниц в навигации.
Тип навигации - в модуле создано 5 основных типов навигации. Описание и примеры будут показаны ниже. Если тип навигации не выбран, то будет использован тип из настроек по умолчанию, в данном случае "Стандартная".
Экспорт - для быстрого создания клона блока - можно скопировать эту строку и при добавлении вставить в поле "Импорт".
Примеры навигации
1. Стандартная навигация
В шаблоне навигации можно указать количество страниц отображаемых по бокам от текущей.
2. Только цифры
Та же стандартная, но без кнопок "Вперед" и "Назад".
Та же цифровая, просто стилями оформлена в пустые кружочки. Это не входит в базовую комплектацию. Это лишь демонстрация как можно видоизменить навигацию при умении и желании.
3. Вперед / Назад
В принципе тоже подвид стандартной навигации, разве что в этом случае без цифер.
4. Показать еще
К текущему списку отображаемых новостей подгружает еще N новостей (сколько задано в настройках). При достижении последней страницы - кнопка исчезает.
5. LazyLoad
Подгрузка будет осуществляться автоматически по мере прокрутки страницы.
6. Без навигации
Обычный вывод custom блока без навигации, но с поддержкой LazyLoad и eventLoad.
Особенности
Модуль работает только со статическими данными. Т.е. внутри строки параметров нельзя использовать теги из шаблона.
Демо
Информация
Стоимость модуля 7wmz
Количество лицензий в комплекте: 2шт
Поддомены: бесплатно (для сайтов прошедших валидацию. Пока что "мастер ключ" выдается в ручном режиме)
Стоимость дополнительной лицензии: 2wmz
Сменить домен: невозможно*
Для работы модуля требуется ionCube Loader v.10.2 и старше (для PHP 7.4 версия куба должна быть 10.4)
Версия DLE: 10.2 - 17.1
Версия PHP: 7.1 - 8.2 (кроме 8.0)
Кодировка: UTF-8
Купить модуль: shop.sandev.pro
Контакты
Telegram: @Sandev
Skype: sander8804
E-Mail: oleg.sandev@gmail.com
История изменений
v.1.1 - 26.12.2020
+ Добавлен новый тип навигации LazyLoad. Для автоподгрузки следующей страницы навигации при прокрутке скролла
v.1.2 - 25.01.2021
+ Добавлена возможность указать индивидуальный файл шаблона в качестве контейнера для блока.
+ Добавлена возможность использовать навигацию в custom с тегами в параметрах
v.1.2.1 - 30.01.2021
* Исправлено сохранение типа навигации в глобальных настройках
v.1.2.2 - 05.02.2021
+ Добавлена поддержка модуля Miniposter Pro v3
v.1.3 - 11.02.2021
+ Добавлена возможность запоминания номера страницы навигации.
v.1.3.1 - 18.02.2021
* Исправлен баг с сохранением номера страницы
v.1.3.2 - 13.05.2021
* Исправлена инструкция для DLE 12.1 и младше
v.1.3.3 - 26.06.2021
+ Добавлен установщик для DLE 14.3
+ Добавлена поддержка тегов закладок для DLE 14.3
v.1.3.4 - 14.07.2021
+ Добавлена поддержка тега {THEME}
v.1.3.5 - 19.09.2022
+ Добавлена поддержка PHP 8.1
v.1.3.6 - 07.03.2023
+ Добавлена поддержка DLE 16.0
* Исправлена ошибка с баннерами
* Исправлена работа комментариев при размещении блока в полной новости
v.1.3.7 - 04.05.2024
+ Добавлена поддержка DLE 17.0
+ Добавлена поддержка PHP 8.2
С уважением,
Олег Александрович a.k.a. Sander