AJAX-Custom by Sander v.1.3.6 для DLE

AJAX-Custom by Sander v.1.3.6

AJAX-Custom by Sander v.1.3.6

Данный модуль предназначен для легкого и удобного управления всеми custom блоками на вашем сайте.
Но главной и ключевой его особенностью является полноценная, удобная и безопасная организация AJAX навигации в custom блоке.
Отдельно что-либо описывать я не вижу смысла, лучше сразу показывать картинки и объяснять что и как там устроено.

Админка


AJAX-Custom by Sander v.1.3.6

Это основная (и единственная) страница управления custom блоками. На ней отображаются основные элементы управления и все блоки созданные модулем.
Кнопки управления:
Подробности - показать все параметры каждого блока. Я решил скрыть эти данные, чтобы не перегружать интерфейс.
AJAX-Custom by Sander v.1.3.6


Добавить - Открывает страницу добавления нового блока. Для удобства есть строка импорта, с её помощью можно легко и быстро клонировать custom блоки.
AJAX-Custom by Sander v.1.3.6


Настройки - Глобальные настройки модуля, они же настройки по умолчанию для блоков. Подробнее о каждом параметре будет описано ниже по ходу текста.
AJAX-Custom by Sander v.1.3.6


Ниже отображается список созданных блоков, где:
AJAX-Custom by Sander v.1.3.6

1. Холдер для перемещения блока, смены очередности блоков.
2. Статус блока, вкл/выкл.
3. Системное имя, только на латинице.
4. Описание блока, для удобства идентификации кто есть кто.
5. Тег подключения в шаблоне. Именно так будет прописываться блок вместо старого формата {custom ...}
6. Если включен этот параметр, то блок будет подгружаться только в тот момент, когда блок будет виден в окне браузера. В общем стандартный принцип работы LazyLoad. Но для работы этого параметра в движке обязательно должен быть включен штатный LazyLoad в настройках DLE. Если он выключен (или его нет), то LazyLoad в модуле так же не будет работать.
7. Загрузка блока по событию. Функционал в целом схож с LazyLoad, но если там загрузка осуществлялась при прокрутке скролла, то тут загрузка содержимого осуществляется посредством вызова соответствующей функции. В частности так можно реализовать работу блока в табах (как я и сделал на демо сайте).
8. Кеш. Просто кеш. Работает полностью посредством стандартного функционала кеширования DLE. Но к сожалению не совместим с моим хаком Custom-Cache

Как вы заметили, пункты 6, 7 и 8 имеют различную раскраску. Опишу подробнее логику.
Синий - параметр включен в глобальных настройках, в настройках блока стоит "по умолчанию"
Серый - параметр выключен в глобальных настройках, в блоке - "по умолчанию"
Зеленый - параметр включен в настройках блока.
Серый подчеркнутый - параметр выключен в настройках блока.


Редактирование блока


AJAX-Custom by Sander v.1.3.6

В целом, полагаю, тут и так все понятно, но опишу параметры, которые могут вызвать вопросы.
Параметры {custom ...} - любые стандартные параметры, которые прописываются в теге. Исключением являются только параметры limit, cache и navigation. Так жа на данный момент не поддерживается работа шаблонных тегов внутри строки параметров.
Количество новостей - тот же limit, но прописывать и обрабатывать для навигации его необходимо обязательно отдельно.
Количество страниц - просто дополнительный параметр, если хочется, чтобы было ограниченное количество страниц в навигации.
Тип навигации - в модуле создано 5 основных типов навигации. Описание и примеры будут показаны ниже. Если тип навигации не выбран, то будет использован тип из настроек по умолчанию, в данном случае "Стандартная".
Экспорт - для быстрого создания клона блока - можно скопировать эту строку и при добавлении вставить в поле "Импорт".

Примеры навигации


1. Стандартная навигация
AJAX-Custom by Sander v.1.3.6

AJAX-Custom by Sander v.1.3.6

AJAX-Custom by Sander v.1.3.6

В шаблоне навигации можно указать количество страниц отображаемых по бокам от текущей.

2. Только цифры
AJAX-Custom by Sander v.1.3.6

Та же стандартная, но без кнопок "Вперед" и "Назад".
AJAX-Custom by Sander v.1.3.6

Та же цифровая, просто стилями оформлена в пустые кружочки. Это не входит в базовую комплектацию. Это лишь демонстрация как можно видоизменить навигацию при умении и желании.

3. Вперед / Назад
AJAX-Custom by Sander v.1.3.6

В принципе тоже подвид стандартной навигации, разве что в этом случае без цифер.

4. Показать еще
AJAX-Custom by Sander v.1.3.6

К текущему списку отображаемых новостей подгружает еще N новостей (сколько задано в настройках). При достижении последней страницы - кнопка исчезает.

5. LazyLoad
Подгрузка будет осуществляться автоматически по мере прокрутки страницы.

6. Без навигации
Обычный вывод custom блока без навигации, но с поддержкой LazyLoad и eventLoad.




Особенности


Модуль работает только со статическими данными. Т.е. внутри строки параметров нельзя использовать теги из шаблона.


Демо




Информация


Стоимость модуля 7wmz
Количество лицензий в комплекте: 2шт
Поддомены: бесплатно (для сайтов прошедших валидацию. Пока что "мастер ключ" выдается в ручном режиме)
Стоимость дополнительной лицензии: 2wmz
Сменить домен: невозможно*
Для работы модуля требуется ionCube Loader v.10.2 и старше (для PHP 7.4 версия куба должна быть 10.4)
Версия DLE: 10.2 - 16.0
Версия PHP: 7.1 - 7.4, 8.1
Кодировка: 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
* Исправлена ошибка с баннерами
* Исправлена работа комментариев при размещении блока в полной новости

С уважением,
Олег Александрович a.k.a. Sander
Купить модуль
  • Стоимость модуля: $7
  • В комплекте: 2 лицензии
  • Стоимость дополнительной лицензии: $2
Комментарии: (31)
  1. foto
    VIP 26 декабря 2020 09:41 #
    А в fullstory работает?
    А в автоматическом режиме работает? Ну т.е. без указания количества новостей, количества страниц и прочего. Простой custom с установленным limit 50 и если новостей больше 50 должно выводить навигацию. Будет так работать?
    0
    1. foto
      Администратор 26 декабря 2020 15:11 #
      Очень хорошая идея.
      Заодно добавлю поддержку LazyLoad для старых версий DLE (13.1 и младше).
      Сейчас сделал на демо сайте автоподгрузку новостей в самом низу.
      У себя я сделал лимит 100 страниц по 21 новости, но это по желанию. Можно сделать ленту бесконечной.

      Работать модуль будет везде где может работать штатный custom. Исключением является только shortstory.
      Блок с навигацией может быть только один.
      +3
  2. foto
    Гость 22 января 2021 15:27 #
    Цитата: Sander
    Очень хорошая идея.
    Заодно добавлю поддержку LazyLoad для старых версий DLE (13.1 и младше).

    Здраствуйте. Когда будет добавлена эта поддержка, сообщите здесь. Хочу купить модуль, но после добавления указанных дополнений. Спасибо.
    0
    1. foto
      Администратор 23 января 2021 14:12 #
      Забыл об этом упомянуть.
      Это было добавлено в v.1.1
      По сути, достаточно просто подключить в шаблон файл lazyload.js
      0
  3. foto
    Гость 2 апреля 2021 00:53 #
    8. Кеш. Просто кеш. Работает полностью посредством стандартного функционала кеширования DLE. Но к сожалению не совместим с моим хаком Custom-Cache

    От слова совсем? Или в новых версиях будет совместимость с Custom-Cache?
    0
    1. foto
      Администратор 2 апреля 2021 12:33 #
      Да, на данный момент совсем не совместимо.
      Как будет время - посмотрю варианты реализации такого функционала встроенного в сам модуль, но пока ничего обещать не могу.
      0
  4. foto
    Клиент 4 мая 2021 14:40 #
    Такой вопрос. А в нём можно сделать в таком виде.

    Показать еще
    Стандартная навигация

    т.к. сразу 2 варианта ?
    И обязательно выводить только с помощью custom ? Или можно использовать стандарт вывод {content} ?
    0
    1. foto
      Администратор 4 мая 2021 17:25 #
      Нет. Навигация может быть только одна.

      Вторая половина вопроса не понятна.
      Модуль является расширением функционала custom. И только так.
      0
  5. foto
    Клиент 4 мая 2021 19:17 #
    Цитата: Sander
    Нет. Навигация может быть только одна.

    Вторая половина вопроса не понятна.
    Модуль является расширением функционала custom. И только так.


    А будет ли он корректно работать с другими плагинами ? тем же DLE Filter v2.3.0 (от другого разработчика)
    0
    1. foto
      Администратор 4 мая 2021 19:47 #
      Конфликта не будет.
      Взаимодействия тоже никакого не будет.
      У них разная область применения.
      Фильтр работает только с новостями в контенте, модуль работает только с custom блоками.
      +1
  6. foto
    Гость 4 августа 2021 11:53 #
    Добрый день.
    подскажите, а вот это тоже с помощью модуля сделано в демке joxi.ru/Vm6MjEeIRvpvlr
    0
    1. foto
      Администратор 4 августа 2021 12:10 #
      Это не является частью функционала модуля, но в архиве приложен пример example.tpl с описанием как организовать подобное переключение вкладок.
      Однако для этого требуются хотя бы минимальный уровень знаний в html+css
      0
  7. foto
    Гость 20 января 2022 17:02 #
    Для dle 15.0 работает?
    0
    1. foto
      Администратор 24 января 2022 23:09 #
      На 15.0 - да.
      На 15.1 - пока нет возможности проверить, но есть подозрения, что могут быть небольшие нюансы.
      0
  8. foto
    Клиент 20 апреля 2022 19:38 #
    Работает ли это на 15.1 ?
    0
  9. foto
    Клиент 26 апреля 2022 16:37 #
    Поставили на DLE 15.1
    Попробовали вывести:
    {ajaxCustom categoryexclude="1007" author="{usertitle}" template="modshortstory" limit="10" nav_type="more" tpl_name="temp" cache="yes"}

    Выводит нормально. Но вот навигация не работает. От слова совсем. Причем без разницы какой вариант используем. (main, pages, next, more, lazy, none)
    Может мы что-то не то делаем. Или он просто ещё не адаптирован под 15.1
    Ну.. будем ожидать.
    0
    1. foto
      Администратор 26 апреля 2022 18:41 #
      К сожалению на данный момент полноценно модуль тестировался только на указанных версиях, т.е. только до 15.0
      Сейчас по быстрому установил его на 15.1, проверил все типы навигации, ни с чем проблем не возникло. Вероятнее всего проблемы с JS в вашем шаблоне.
      0
      1. foto
        Клиент 28 апреля 2022 12:55 #
        Спасибо разобрались.
        Проблема была не в шаблоне.
        А в правах на файлы в папке /engine/mods/custom/data
        Отлично на 15.1 работает модуль.
        0
  10. foto
    Клиент 23 июля 2022 20:52 #
    Есть небольшой вопрос по модулю..
    Если мы впишем параметр Параметры {custom ...}
    approve="0"

    То по сути будут выводиться только новости, которые находятся на модерации. И это работает и выводит.

    Но если мы зайдём в админ панель --> Оптимизация и включим там галочку "Включить несколько категорий"
    То больше параметр
    approve="0"

    Не будет работать.
    При этом админ видит что якобы всё отлично работает. А вот пользователи больше не видят, что выводит

    Не подскажите как можно это поправить?
    0
    1. foto
      Администратор 23 июля 2022 21:01 #
      Включить несколько категорий - Не вижу параметра с таким названием во вкладке оптимизации.
      По умолчанию в движке нет управления параметром approve="0"
      В PHP коде статично прописано:
      		$where[] = "approve=1";
      0
      1. foto
        Клиент 23 июля 2022 21:13 #
        Поняли.. извиняемся.
        У нас просто почему то в место
        $where[] = "approve=1";

        Стоит код
        	if( preg_match( "#approve=['\"](.+?)['\"]#i", $param_str, $match ) ) {
        		
        		$approve_custom = intval($match[1]);
              
              	if ($approve_custom != '1') {
                  $approve_custom="0";
                	}
        		
        		$where[] = "approve='$approve_custom'";
        		
        	} else {
              	$where[] = "approve=1";
            }
        0
  11. foto
    Клиент 14 октября 2022 02:13 #
    будет ли поддержка dle 15.2 ? или работает ли вообще ?

    а так же работает ли в fullstory ?
    0
    1. foto
      Клиент 14 октября 2022 18:35 #
      На 15.2 отлично работает.
      На 15.3 тоже.
      +1
  12. foto
    Гость 1 декабря 2022 22:00 #
    А как добавить плавную анимацию расширения div Блока в котором подгружается доп контент?
    К примеру я нажимаю на кнопку "Показать еще" и div блок плавно увеличивается по высоте и туда подгружается контент?
    0
  13. foto
    Клиент 21 февраля 2023 14:32 #
    Добрый день! Подскажите, а вывод аватаров поддерживается если использовать стандартный тег {foto}
    0
    1. foto
      Администратор 28 февраля 2023 18:54 #
      В плане поддержки тегов в шаблоне - модуль использует непосредственно функционал тега {custom ...}
      Следовательно если у вас в штатном custom`е работает тег {foto}, то и в модуле он тоже будет работать.
      0
  14. foto
    VIP 20 марта 2023 10:53 #
    Добрый день! Подскажи, в архиве с модулем приложен example в нём есть табы, ну и js код для их работы
    $(document).on('click', '.tabs-nav li:not(.active)', function(){
    	$(this).addClass('active').siblings().removeClass('active');
    	var group = $(this).parent('ul').data('group');
    	var box = $(this).data('box');
    	$('.' + group + ' .box-' + box).addClass('active').siblings().removeClass('active');
    });


    не мог бы ты помочь с дописанием этого js, чтобы вкладки запоминались даже после обновления страницы!? Желательно писать в localStorage
    0
    1. foto
      Администратор 21 марта 2023 12:27 #
      Не возьмусь.
      0
  15. foto
    Гость 22 декабря 2023 10:56 #
    Здравствуйте друзья. Как его подправить для dle 17.0? Скажите пожалуйста.
    +1
  16. foto
    VIP 14 января 2024 11:11 #
    Будет ли поддержка версии dle 17.0?
    0
  17. foto
    VIP 2 марта 2024 12:00 #
    Добавьте поддержку php 8.3.x
    0
Добавить комментарий

Внимание! Все сообщения касающиеся техподдержки будут удалены или проигнорированы

Attention! All messages asking for technical support will be removed or ignored

  • Логин
  • E-mail (не обязательно)
Повторите рисунок:
antibot
© Sander-Development. 2009-2024.
При копировании, ссылка на источник обязательна.