• SanDev.pro
  •  › 
  • Блог
  •  › 
  • Как установить старый модуль на DLE 13.0 в новой системе управления плагинами
Как установить старый модуль на DLE 13.0 в новой системе управления плагинами для DLE

Как установить старый модуль на DLE 13.0 в новой системе управления плагинами

Как установить старый модуль на DLE 13.0 в новой системе управления плагинами

С выходом новой системы управления плагинами помимо программной совместимости описанной в прошлой статье, у некоторых вызывает затруднения сама установка модуля.
В данной статье я постараюсь немного раскрыть эту тему.
Система "Управление плагинами" находится в разделе "Утилиты".
Чтобы создать новый плагин нажимаем кнопку "Добавить плагин"
Как установить старый модуль на DLE 13.0 в новой системе управления плагинами


В полученном окне по сути достаточно указать только заголовок, но желательно еще и описание указывать, это для скорее как подсказка для себя.
Заголовок должен быть уникальным и не повторяться с другими модулями/плагинами.

Рассмотрим создание своего плагина по инструкции от разных модулей.

Первым возьмем модуль LightStat.
Указываю имя и описание плагина:
Как установить старый модуль на DLE 13.0 в новой системе управления плагинами

Далее в инструкции говорится что нужно скачать архив, в архиве находится один файл. Он должен быть распакован по адресу engine/mods/lightstat.php.
Открываем этот файл и копируем его содержимое.
Возвращаемся к созданию плагина, открываем вкладку "Действия в файлах" и создаем первый шаг, а именно создание файла.
Как установить старый модуль на DLE 13.0 в новой системе управления плагинами

По большому счету на этом создание плагина уже закончено. Можно сохранять и пользоваться.
Но это частный случай, потому что модуль и так легко устанавливается и подключается.
Но есть еще важный момент в этом модуле. Он выполняет запрос в БД на создание таблицы при первом запуске, об этом написано в инструкции, что нужно удалить строку. Она ничем не мешает работе модуля, но просто всегда выполняет ненужный запрос. Поэтому его можно и даже нужно вынести в третью вкладку "Действия MySQL".
Поэтому сразу вырезаем строку с запросом
Как установить старый модуль на DLE 13.0 в новой системе управления плагинами

И вставляем сам запрос в соответствующее поле:
Как установить старый модуль на DLE 13.0 в новой системе управления плагинами

Как видно, я так же заполнил другие поля, чтобы при выключении плагина таблица очищалась и при удалении плагина так же удалялась таблица.
Жмем добавить и видим, что наш плагин успешно добавлен:
Как установить старый модуль на DLE 13.0 в новой системе управления плагинами

Вот теперь на этом все, плагин полностью правильно установлен.
Скачать готовую версию можно на GitHub

Ну и еще более простая установка - модуль xSort
Сама установка там действительно крайне простая (в отличии от настроек), но раз уж есть - нужно использовать систему управления плагинами.
Сама установка состоит из 2х шагов:
Открыть файл engine/engine.php
Найти строку:
switch ( $do ) {
ПЕРЕД ней вставить:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@include ENGINE_DIR."/mods/xsort/inc.engine.php";
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Открыть файл engine/modules/show.short.php
Найти строку:
	$sql_result = $db->query( $sql_select );
ПЕРЕД ней вставить:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	@include ENGINE_DIR."/mods/xsort/inc.short.php";
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


Создаем плагин, вводим название и описание, переходим во вторую вкладку "Действия в файлах" и создаем 2 этих шага:
Как установить старый модуль на DLE 13.0 в новой системе управления плагинами

На этом установка модуля полностью завершена (т.к. больше нет никаких изменений в PHP файлах движка).

Как видите, тут нет абсолютно ничего сложного.
Разве что единственным важным исключением является пункты типа "Найти первую(вторую) строку ..." - тут уже нужно адаптировать инструкцию, чтобы совпадение было только одно.
В текстовой инструкции я использую слеши, чтобы при отладке/редактировании файла было сразу видно изменения в файле. Т.е. исключительно для удобства.

Надеюсь статья окажется полезной и кому-нибудь да пригодится :)

С уважением,
Олег Александрович a.k.a. Sander
Комментарии: (10)
  1. foto
    Посетитель 9 июня 2018 17:27 #
    Полезная информация, особенно там где создаешь файл, а я просто в папку модуль закидывал.
    +2
  2. foto
    Гость 9 ноября 2018 21:24 #
    По старинке тоже прекрасно работает без меню плагинов)
    0
  3. foto
    Гость 2 декабря 2019 15:09 #
    Минификация (сжатие) исходного кода (HTML) в DLE на PHP
    Откройте файл index.php в корневой папке вашего сайта и сразу после <?php вставьте:

    function minify_html($buffer) {
    
    	$search = array("/\>[^\S ]+/s", "/[^\S ]+\</s", "/(\s)+/s", "/<!--(?![^<]*noindex)(.*?)-->/");
    	$replace = array(">", "<", "\\1", "");
    	$buffer = preg_replace($search, $replace, $buffer);
    
    	return $buffer;
    
    }


    откройте файл main.php в папке /engine/modules/. Найдите:

    echo $tpl->result['main'];


    и замените его на:

    ob_start("minify_html");
    echo $tpl->result["main"];
    ob_end_flush();


    почистите кэш, после чего зайдите на свой сайт и посмотрите исходный код. Если вы все сделали правильно – исходный код вашего сайта будет в одну строку.

    Пробовал создать плагин, но система не правит index.php как быть в такой ситуации?
    0
    1. foto
      Администратор 2 декабря 2019 15:30 #
      engine/modules/main.php
      Найти строку:
      echo $tpl->result['main'];

      Выше вставить:
      function minify_html(&$buffer) {
      	$search = array("/\>[^\S ]+/s", "/[^\S ]+\</s", "/(\s)+/s", "/<!--(?![^<]*noindex)(.*?)-->/");
      	$replace = array(">", "<", "\\1", "");
      	$buffer = preg_replace($search, $replace, $buffer);
      }
      minify_html($tpl->result['main']);


      P.S. После правок - тщательно проверьте работу сайта. Могут быть проблемы с JS кодом и не только.
      0
      1. foto
        Посетитель 2 декабря 2019 17:54 #
        спасибо, пробовать буду только на тесте.
        как испытую отпишу результат!
        в первом моем сообщении правка дала успех, модуль конечно веселее будет!
        0
      2. foto
        Посетитель 2 декабря 2019 19:06 #
        P.S. После правок - тщательно проверьте работу сайта. Могут быть проблемы с JS кодом и не только.

        Проверил, все js, css работают, вроде без нареканий.
        Спасибо вом за помощь!!! Мой первый модуль вашими руками ))
        0
        1. foto
          Клиент 3 декабря 2019 13:01 #
          Это бесполезный модуль.
          При каждом посещении твоего сайта сервер будет производить сжатие кода и только потом отдавать его юзеру.
          Таким образом ты сэкономишь мизер трафика у юзера и уменьшишь скорость загрузки страницы, но нагрузку на сервер ты сильно увеличишь.
          Этому модулю нужен кэш.
          0
          1. foto
            Администратор 3 декабря 2019 14:25 #
            Бесполезный - в принципе согласен.
            Экономия трафика ничтожна, но думаю не в этом цель.
            А вот касательно нагрузки - не согласен. Время выполнения 2-5 мс.
            Организация кеширования повлечет гораздо больше трудозатрат и ресурсов.
            0
  4. foto
    Посетитель 2 декабря 2019 18:54 #
    а вот и результат, не найдена строка. Версия DataLife Engine: 13.2
    0
  5. foto
    Посетитель 2 декабря 2019 19:00 #
    Сам совершил ошибку по невнимательности, сам и исправил ))
    0
Добавить комментарий
  • Логин
  • E-mail (не обязательно)
Повторите рисунок:
antibot
© Sander-Development. 2009-2019.
При копировании, ссылка на источник обязательна.