DataLife Engine (DLE) система управления сайтом и контентом

DLE (DataLife Engine) - это платный многопользовательский новостной движок, обладающий большими функциональными возможностями. Движок предназначен, в первую очередь, для создания новостных блогов и сайтов с большим информационным контекстом. Однако он имеет большое количество настроек, которые позволяют использовать его практически для любых целей. Движок может быть интегрирован практически в любой существующий дизайн и не имеет никаких ограничений по созданию шаблонов для него. Движок оптимизирован под поисковые системы. Инструкция по DLE для добавления контента на сайт.

Общие возможности:

  • Поддержка ЧПУ (человеко-понятный URL).
  • Общая статистика сайта.
  • Поддержка дополнительных полей (возможность использовать не только краткую и полную новость на сайте, но и имеется возможность для создания любого количества дополнительных полей различных видов для ввода информации).
  • Возможность написания статей, содержащих несколько страниц.
  • Возможность загрузки и прикрепления файлов к новостям. Встроенные средства защиты от несанкционированного скачивания файлов (antileech).
  • Флуд контроль.
  • Автоматический фильтр слов в комментариях.
  • Каждой категории можно назначить отдельный шаблон.
  • Рейтинг новостей.
  • Календарь.
  • Обзор непрочитанных новостей с момента последнего посещения сайта.
  • Возможность добавления статей в раздел "Избранное".
  • Отсылка писем пользователям через форму на сайте.
  • Поддержка нескольких языков.
  • Вывод популярных статей в отдельном блоке.
  • Возможность выбора между упрощенной регистрацией и расширенной, при выборе расширенной регистрации пользователь будет зарегистрирован только после активации аккаунта. Активация высылается по почте.
  • RSS Импорт новостей. RSS Информеры.
  • Поддержка Облака Тегов.

Возможности для посетителей сайта:

  • Регистрация на сайте.
  • Добавление комментариев.
  • Изменение и удаление пользователями своих собственных комментариев.
  • Возможность добавления новостей со стороны посетителей.
  • Модерирование новостей.
  • Статистика по конкретному пользователю (включая рейтинг и профиль).
  • Вывод различной информации для зарегистрированных посетителей и нет.
  • Возможность загрузки фотографии в профиле пользователя.
  • Возможность восстановления забытого пароля.
  • Возможность редактирования новости непосредственно на сайте.
  • Смена скинов на сайте по своему усмотрению.
  • Ведение закладок для новостей, и быстрый доступ к ним.
  • Массовая загрузка картинок на сервер.
  • Просмотр и добавление видео на сайт.
  • Персонализация вывода рекламы для определенных групп.
  • Возможность загрузки большого количества картинок и файлов в один клик.
  • Система жалоб "в один клик", на ошибки, новости, комментарии, персональные сообщения.

Возможности админцентра:

  • Возможность использования двух редакторов (BBCODES или WYSIWYG).
  • Антивирус проверяющий состояние файлов на предмет возможного взлома.
  • Имеется возможность использовать смайлы и HTML код.
  • Неограниченное создание групп пользователей с тонкой настройкой различных прав доступа.
  • Возможность выставления бана для посетителей.
  • Средства для создания и редактирования шаблонов непосредственно в админцентре.
  • Возможность корректировки времени и изменения даты публикации.
  • Автоматическая публикация статьи по расписанию.
  • Возможность фиксации новостей (будут всегда наверху, независимо от даты).
  • Отключение регистрации посетителей. Автоматическая временная приостановка регистрации при достижении максимального количества зарегистрированных пользователей.
  • Автоматическое удаление пользователей которые не посещали сайт заданное время.
  • Наложение водяных знаков на картинки.
  • Возможность загрузки картинок для каждой конкретной новости (при удалении новости, картинки тоже будут удаляться).
  • Оптимизацию, ремонт, создание резервной копии и восстановление базы данных можно осуществлять непосредственно из скрипта.
  • Поиск пользователей по IP адресам.
  • Удобное управление рекламными материалами.
  • Публикация "правил" на сайте.
  • Создание карты сайта для Google.

Для полноценной работы DataLife Engine необходимо наличие следующего установленного на сервер программного обеспечения:

  • Apache 2.0 и выше
  • PHP 8.0 и выше
  • MySQL 5.6 и выше или MariaDB 10.0 и выше

Требуемые модули для PHP интерпретатора:

  • Установленная библиотека PHP zlib
  • Установленная библиотека PHP xml
  • Установленная библиотека PHP gd2
  • Установленная библиотека PHP curl
  • Установленная библиотека PHP mbstring
  • Установленная библиотека PHP fileinfo
  • Установленная библиотека PHP exif

Минимальный размер оперативной памяти 16 Мегабайт.

Все файлы конфигурации DLE находятся в директории yourdomain.com/engine/data.

  • engine\data\dbconfig.php настройка подключения к базе данных. В частности константа SECURE_AUTH_KEY генерируется автоматически и является уникальным для каждого сайта. Константа представляет из себя сложную строку из различных букв, цифр и спецсимволов, длиной более 60 символов и предназначения для усиления различных хешей и контрольных подписей сайта. Внедрение данной константы защищает сайт от расшифровки контрольных хешей методом перебора. В любое время, при желании, администратор может изменить значение данной константы по своему усмотрению.

В дистрибутиве DLE присутствует интересный файл cron.php. Официальная документация к нему на странице Запуск функций по крону. Я не буду дублировать официальную документацию, а сконцентрируюсь на практическом использовании cron.php.

При этом конечно не следует забывать про указание правильных путей как к PHP интерпретатору, так и к самому скрипту от корня вашего сервера. После того как вы произвели необходимые изменения, сохраните данный файл на сервере. Теперь вам нужно добавить данный файл на запуск по расписанию (CRON) время создания и периодичность вы устанавливаете самостоятельно. Подробную инструкцию по добавлению данного файла в функцию CRON вы можете получить у вашего хостинг провайдера.

С помощью скрипта cron.php вы можете настроить:

  1. автоматическое резервное копирование базы данных,
  2. оптимизировать базу данных, используется команда SQL OPTIMIZE TABLE,
  3. запустить антивирус.

Начнем с (Все что нужно знать о резервировании данных) с запуска резервного копирования. Согласно документации вы должны разрешить выполнение скрипта, установив $allow_cron = 1; и просто запустить в консоли Linux. Так вот не будет скрипт у вас работать и ошибки никакой не выдаст:) А потому что у вас нет директории для бекапов:

mkdir backup
php cron.php

То есть я создал директорию в папке в которой лежит мой файл cron.php. И запустил на выполнение.

Давайте теперь добавим в cron ежедневый запуск cron.php:

crontab -e
# Backup DLE
@daily cd /var/www/site.ua; php cron.php >/dev/null 2>&1

Оптимизация базы данных. Для запуска данного режима запустите файл с параметром cron.php?cronmode=optimize если используется консольный запуск скрипта, то используйте

php -f cron.php optimize

Мне проще и нагляднее использовать этот скрипт OPTIMIZE TABLE.

DLE самый тормозящий движок с которым я работал.

Идем в админку - > Настройка системы → Оптимизация. На этой странице включаем

  1. "Включить кеширование на сайте"
  2. "Тип кеширования на сайте" только не файловый, нужно обязательно Как проверить, установлен ли memcache или memcached для PHP? если поддерживает ваш хостинг провайдер.

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

такими хостингами, у них сервис memcache доступен по умолчанию на всех серверах виртуального хостинга.

Для очистки кеша движка DLE - достаточно удалить содержимое папки engine/cache/ - по ssh команда:

# rm -rf engine/cache/*

В DLE тег {tags}, отвечает за вывод облака тегов (специальных ключевых слов добавленных в новость). Этот тег можно вставить в шаблоны, такие как fullstory.tpl или shortstory.tpl, для отображения всех связанных тегов новостей. Также можно использовать конструкцию {tags limit="X"}, чтобы ограничить количество выводимых тегов.

Для отображения облака тегов в сайдбаре необходимо активировать настройку "Включить поддержку модуля Облако тегов" в разделе "Оптимизация запросов к базе данных" и обновить кэш.

С тегом {tags} в DataLife Engine (DLE) можно использовать следующие параметры для настройки вывода тегов:

  • limit: задает максимальное количество тегов для отображения.
  • sort: определяет порядок сортировки тегов (например, по количеству использований).
  • template: позволяет указать свой шаблон для отображения тегов.

Эти параметры помогают кастомизировать вывод облака тегов в зависимости от потребностей сайта.

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

Официальный ответ техподдержки DLE: Теги выводятся в URL на том языке на каком написаны.

В последних версиях DLE (17 и выше точно) структура базы данных была изменена, и управление тегами осуществляется иначе. Вы можете удалить теги через админку в разделе "Управление ключевыми словами облака тегов" главной страницы административной панели.

Устаревший способ для старых версии DLE (точно ниже 17) это удаление тегов через SQL-запрос. Если вы хотите удалить все теги сразу, вы можете использовать SQL-запрос в базе данных:

  1. Создайте резервную копию базы данных.
  2. Откройте phpMyAdmin или другой инструмент для работы с базой данных. Выполните следующие SQL-запросы:
    TRUNCATE FROM `dle_tags`; -- Удаляет все теги
    DELETE FROM `dle_post_tags`; -- Удаляет связи между новостями и тегами

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

IntenseDebate является сервисом комментариев. После регистрации на IntenseDebate вы получите два JavaScript кода.

  • В админке DLE запрещаем размещение комментариев.
  • Блок комментариев. Первый код вида:
    <script>
    var idcomments_acct = 'your unique identifier';
    var idcomments_post_id;
    var idcomments_post_url;
    </script>
    <span id="IDCommentsPostTitle" style="display:none"></span>
    <script type='text/javascript' src='http://www.intensedebate.com/js/genericCommentWrapperV2.js'></script>

    отвечает непосредственно за появление блока комментариев под статьей. Его нужно вставить в fullstory.tpl.

  • Счетчик комментариев. Второй код вида
    <script>
    var idcomments_acct = 'your unique identifier';
    var idcomments_post_id;
    var idcomments_post_url;
    </script>
    <script type="text/javascript" src="http://www.intensedebate.com/js/genericLinkWrapperV2.js"></script>

    вставляем в shortstory.tpl. Он должен служить для вывода количество комментариев. Но в таком виде он работать не будет ему нужно передать корректные значения idcomments_post_id и idcomments_post_url. Шаблон shortstory.tpl заполняется при помощи скрипта engine/modules/show.short.php. Согласно этому скрипту для инициализации idcomments_post_url используем $full_link, а для инициализации idcomments_post_id $row['id']. Для этого в файле show.short.php допишем строку перед строкой с {full-link}:

    $tpl->set( '{idc_news_simple_id}', $row['id'] );
    $tpl->set( '{full-link}', $full_link );

    Ниже окончательный вариант JavaScript для счетчика комментариев в shortstory.tpl.

    		<span class="arg">
    			Категория: {link-category}<br />
    <input type="hidden" value="{idc_news_simple_id}" id="idcnewssimpleid" name="i_idcnewssimpleid"/>
    <script type="text/javascript">
    var idcomments_acct = 'your unique identifier';
    var idcomments_post_id = '{idc_news_simple_id}';
    var idcomments_post_url = '{full-link}';
    </script>
    <script type="text/javascript" src="http://www.intensedebate.com/js/genericLinkWrapperV2.js"></script>
    		</span>

Как обновить DataLife Engine (DLE) правильно. Эту заметку я пишу, потому что мне нужно обновить DLE с версии 14.0 на версию версию 17.3 на сайте Новини Харкова news.kh.ua. Такая разница в версиях пугает, но давайте посмотрим что получится:-)

И так, в современной версии DLE доступно два типа обновления: ручное и автоматическое. И вычитал такую фразу в Интернет: Если у вас DataLife Engine (DLE) без плагинов и ваш шаблон поддерживает новые версии DLE, то можете обновляться смело и не задумываясь.

Обновление скрипта до новой версии:

  • Создайте резервную копию базы данных и всех файлов скрипта на сервере.
  • В главной странице админки DLE нажал кнопку "Проверить наличие обновлений". Для обновления сайта до актуальной версии, вам нужно перейти по ссылке: Обновить DataLife Engine. В моем случае меня перебросило на страницу ввода лицензии.
  • Активировал лицензию и установка началась автоматически
  • После окончания установки появилась надпись: "Обновление скрипта до версии 17.3 завершено. Внесите изменения в свои шаблоны согласно списку изменений опубликованных на сайте: https://dle-news.ru/templates-changelog.html". Нажимаем здесь кнопку Продолжить.
  • В админке появилось предупреждение: "Версия PHP на сервере не соответствует минимально необходимой. Datalife Engine не сможет корректно работать на данной версии PHP. Версия PHP должна быть не ниже 8.0.0. Ваша установленная версия 7.4.33". Я стесняться не стал и сразу переключился на PHP 8.3 - самую последнюю на текущий момент.

На этом этапе я увидел только пару нюансов, например:

  • новые шаблоны которые включены в дистрибутив DLE не было скопированы. Но я думаю это и правильно, поэтому скопировал их вручную по FTP.
  • Файл .htaccess остался старым. Но я заменил вручную на новый из дистрибутива.

У меня обновление DLE прошло удачно! Никаких изменений в шаблонах я не делал, шаблон на сайте продолжил работать (да и все равно я его буду менять на другой).

В движке DLE (DataLife Engine) существует два различных функционала, связанных с RSS: RSS Информеры и RSS Импорт новостей. Вот основные различия между ними:

Функция RSS Информеры RSS Импорт новостей
Основное назначение Отображение внешнего контента Автоматическое добавление контента
Хранение данных Не сохраняет данные в БД Сохраняет данные в БД
Настройка отображения Гибкая настройка вывода информации Минимальная настройка, больше фокус на импорт
Использование Для интеграции контента Для агрегации и хранения контента

RSS Информеры

  • Назначение: RSS Информеры предназначены для отображения новостей с внешних источников на вашем сайте. Это позволяет интегрировать контент из других RSS-лент, что может помочь в увеличении разнообразия контента и привлечении посетителей.
  • Настройка: Пользователи могут настраивать вывод информации, выбирая, какие элементы будут отображаться (например, заголовок, дата, автор и т.д.) с помощью специальных тегов в шаблоне26.
  • Использование: Информеры могут быть размещены на различных страницах сайта и обновляются автоматически, что позволяет поддерживать актуальность информации без необходимости ручного редактирования.

RSS Импорт новостей

  • Назначение: RSS Импорт новостей используется для автоматического добавления новостей из внешних источников в базу данных вашего сайта. Это позволяет не только отображать, но и сохранять контент на вашем сайте.
  • Функциональность: Импортированные новости становятся частью вашего контента и могут быть отредактированы или удалены через админпанель. Это особенно полезно для сайтов, которые хотят агрегировать новости из нескольких источников13.
  • Процесс: Импорт новостей требует настройки URL-адресов RSS-лент, откуда будут получаться данные. Система автоматически обрабатывает эти ленты и добавляет новые записи в базу данных.

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

В релизе DLE v.15.0 и выше из настроек скрипта убрана настройка включения и отключения функции "Разрешить пользователям делится интересными материалами". Теперь данная опция включается и отключается автоматически если в шаблоне блоку задан класс CSS "share-content".

В DLE используется библиотеки от Яндекса, они с Украины заблокированы для скачивания. Как варинт решения ити библиотеки можно скачать на свой сайт и изменить пути к ним в настройках шаблона файл fullstory.tpl.

📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!