DataLife Engine (DLE) система управления сайтом и контентом
DLE (DataLife Engine) - это платный многопользовательский новостной движок, обладающий большими функциональными возможностями. Движок предназначен, в первую очередь, для создания новостных блогов и сайтов с большим информационным контекстом. Однако он имеет большое количество настроек, которые позволяют использовать его практически для любых целей. Движок может быть интегрирован практически в любой существующий дизайн и не имеет никаких ограничений по созданию шаблонов для него. Движок оптимизирован под поисковые системы. Инструкция по DLE для добавления контента на сайт.
Возможности DLE
Общие возможности:
- Поддержка ЧПУ (человеко-понятный URL).
- Общая статистика сайта.
- Поддержка дополнительных полей (возможность использовать не только краткую и полную новость на сайте, но и имеется возможность для создания любого количества дополнительных полей различных видов для ввода информации).
- Возможность написания статей, содержащих несколько страниц. Для разделение текста на страницы используйте тег {PAGINATION} или {PАGEBREAK} для указания мест, где будет происходить разбивка на страницы. Например:
Текст первой страницы. {PAGINATION} Текст второй страницы.
- Возможность загрузки и прикрепления файлов к новостям. Встроенные средства защиты от несанкционированного скачивания файлов (antileech).
- Флуд контроль.
- Автоматический фильтр слов в комментариях.
- Каждой категории можно назначить отдельный шаблон.
- Рейтинг новостей: Вывод данного раздела настраивается в файле topnews.tpl В этом разделе настраиваются шаблоны, которые используются для вывода блока популярных новостей.
- Календарь.
- Обзор непрочитанных новостей с момента последнего посещения сайта.
- Возможность добавления статей в раздел "Избранное".
- Отсылка писем пользователям через форму на сайте.
- Поддержка нескольких языков.
- Вывод популярных статей в отдельном блоке.
- Возможность выбора между упрощенной регистрацией и расширенной, при выборе расширенной регистрации пользователь будет зарегистрирован только после активации аккаунта. Активация высылается по почте.
- RSS Импорт новостей. RSS Информеры.
- Поддержка Облака Тегов.
- Добавлена возможность вставки постов из Телеграмм каналов в ваши публикации на сайте с использованием тега [mediа=….]. В данном теге указывается просто скопированная ссылка из браузера, а далее весь необходимый код DataLife Engine сформирует автоматически. Например, для вставки поста вы можете использовать:
[media=https://t.me/hosting_consultant/63]
Возможности для посетителей сайта:
- Регистрация на сайте.
- Добавление комментариев.
- Изменение и удаление пользователями своих собственных комментариев.
- Возможность добавления новостей со стороны посетителей.
- Модерирование новостей.
- Статистика по конкретному пользователю (включая рейтинг и профиль).
- Вывод различной информации для зарегистрированных посетителей и нет.
- Возможность загрузки фотографии в профиле пользователя.
- Возможность восстановления забытого пароля.
- Возможность редактирования новости непосредственно на сайте.
- Смена скинов на сайте по своему усмотрению.
- Ведение закладок для новостей, и быстрый доступ к ним.
- Массовая загрузка картинок на сервер.
- Просмотр и добавление видео на сайт.
- Персонализация вывода рекламы для определенных групп.
- Возможность загрузки большого количества картинок и файлов в один клик.
- Система жалоб "в один клик", на ошибки, новости, комментарии, персональные сообщения.
- В настройки скрипта добавлена возможность включения специально адаптированного редактора для мобильных устройств при написании комментариев на сайте. При включении данной опции, будет отображён специальный облегчённый редактор с минимумом набора кнопок в нем. Данный редактор не перегружает информацией мобильный экран, а также в нем упрощена загрузка и управление изображениями.
Возможности админцентра:
- Возможность использования двух редакторов (BBCODES или WYSIWYG).
- Антивирус проверяющий состояние файлов на предмет возможного взлома.
- Имеется возможность использовать смайлы и HTML код.
- Неограниченное создание групп пользователей с тонкой настройкой различных прав доступа.
- Возможность выставления бана для посетителей.
- Средства для создания и редактирования шаблонов непосредственно в админцентре.
- Возможность корректировки времени и изменения даты публикации.
- Автоматическая публикация статьи по расписанию.
- Возможность фиксации новостей (будут всегда наверху, независимо от даты).
- Отключение регистрации посетителей. Автоматическая временная приостановка регистрации при достижении максимального количества зарегистрированных пользователей.
- Автоматическое удаление пользователей которые не посещали сайт заданное время.
- Наложение водяных знаков на картинки.
- Возможность загрузки картинок для каждой конкретной новости (при удалении новости, картинки тоже будут удаляться).
- Оптимизацию, ремонт, создание резервной копии и восстановление базы данных можно осуществлять непосредственно из скрипта.
- Поиск пользователей по IP адресам.
- Удобное управление рекламными материалами.
- Публикация "правил" на сайте.
- Создание карты сайта для Google.
Минимальные системные требования DataLife Engine
Для полноценной работы 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
Все файлы конфигурации DLE находятся в директории yourdomain.com/engine/data.
- engine\data\dbconfig.php настройка подключения к базе данных. В частности константа SECURE_AUTH_KEY генерируется автоматически и является уникальным для каждого сайта. Константа представляет из себя сложную строку из различных букв, цифр и спецсимволов, длиной более 60 символов и предназначения для усиления различных хешей и контрольных подписей сайта. Внедрение данной константы защищает сайт от расшифровки контрольных хешей методом перебора. В любое время, при желании, администратор может изменить значение данной константы по своему усмотрению.
Запуск функций DLE по крону используя файл cron.php
В дистрибутиве DLE присутствует интересный файл cron.php. Официальная документация к нему на странице Запуск функций по крону. Я не буду дублировать официальную документацию, а сконцентрируюсь на практическом использовании cron.php.
При этом конечно не следует забывать про указание правильных путей как к PHP интерпретатору, так и к самому скрипту от корня вашего сервера. После того как вы произвели необходимые изменения, сохраните данный файл на сервере. Теперь вам нужно добавить данный файл на запуск по расписанию (CRON) время создания и периодичность вы устанавливаете самостоятельно. Подробную инструкцию по добавлению данного файла в функцию CRON вы можете получить у вашего хостинг провайдера.
С помощью скрипта cron.php вы можете настроить:
- автоматическое резервное копирование базы данных,
- оптимизировать базу данных, используется команда SQL OPTIMIZE TABLE,
- запустить антивирус.
Начнем с (Все что нужно знать о резервировании данных) с запуска резервного копирования. Согласно документации вы должны разрешить выполнение скрипта, установив $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.
Ускорение индексации новых страниц
Добавлена возможность указать в настройках скрипта в админпанели, какой именно провайдер будет использован для уведомлений поисковых систем с использованием протокола IndexNow. Выбор провайдера не влияет на то какие поисковые системы будут уведомлены, они автоматически синхронизуют данные, но выбор влияет на то, какой из провайдеров быстрее отвечает и ближе доступен к вашему сайту по расположению. Тем самым каждый может выбрать оптимального провайдера для своего сайта.
Я в 2024 году выбрал IndexNow - вроде работает.
Создание карты сайты sitemap.xml
У DLE нет автоматического обновления sitemap.xml, это связано с мнением разработчиков, что создание карты невероятно ресурсоемкий процесс. Поэтому или вручную нажимайте кнопку создания sitemap.xml в админке DLE или настройте автоматическое обновление sitemap.xml через cron.
Я настроил обновление sitemap через cron раз в сутки в 12 часов дня:
0 12 */1 * * cd /var/www/site.ua; php -f cron.php sitemap >/dev/null 2>&1
DLE и кеширование
DLE самый тормозящий движок с которым я работал.
Идем в админку - > Настройка системы → Оптимизация. На этой странице включаем
- "Включить кеширование на сайте"
- "Тип кеширования на сайте" только не файловый, нужно обязательно Как проверить, установлен ли memcache или memcached для PHP? если поддерживает ваш хостинг провайдер.
Тип кеширования, который будет использовать скрипт для кеширования MySQL запросов. Файловый кеш работает на всех хостингах, перед включением Memcache вам необходимо уточнить у вашего хостинг провайдера, есть данная возможность у вашего хостинга.
такими хостингами, у них сервис memcache доступен по умолчанию на всех серверах виртуального хостинга.
DLE - как очистить кеш вручную?
Для очистки кеша движка DLE - достаточно удалить содержимое папки engine/cache/ - по ssh команда:
# rm -rf engine/cache/*
DLE использование облака тегов (tags)
В 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-запрос в базе данных:
- Создайте резервную копию базы данных.
- Откройте phpMyAdmin или другой инструмент для работы с базой данных. Выполните следующие SQL-запросы:
TRUNCATE FROM `dle_tags`; -- Удаляет все теги DELETE FROM `dle_post_tags`; -- Удаляет связи между новостями и тегами
Важно! После удаления тегов рекомендуется проверить работу сайта и обновить кэш, чтобы изменения отобразились корректно.
Интеграция IntenseDebate в DLE
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)
Как обновить 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 прошло удачно! Никаких изменений в шаблонах я не делал, шаблон на сайте продолжил работать (да и все равно я его буду менять на другой).
RSS Информеры vs RSS Импорт
В движке 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.
Теги при написании новостей
Небольшие пояснения к вставке кодов.
- [url=ссылка] текст [/url] Вставка ссылки в новость
- [leech=ссылка] текст [/leech] Полностью аналогичен тегу URL, за исключением того что производит шифрование ссылки. Добавлено использование HTTP заголовка с кодом 301 для ссылок которые опубликованы с использованием тегов защищённых ссылок [leech=….] в публикациях и комментариях. Вид зашифрованной ссылки
site.ua/index.php?do=go&url=aHR0cHM6Ly9kaWVnLmluZm8vYXJ0aWNsZXMvbHVjaHNoaWUtYW50aWRldGVrdC1icmF1emVyeS1kbHlhLXJhYm90eS8%3D
- [media=ссылка на страницу с видео] предназначен для публикации видео и другого контента на сайте с сервисов поддерживающих oEmbed, таких как youtube.com, instagram, twitter, facebook, flickr, vimeo, docs.com, vine, gettyimages, codepen.io, dailymotion, mixcloud, soundcloud, coub, ifixit, Apple Keynote. В данном теге вы просто указываете URL страницы где размещено видео или нужный контент, скрипт автоматически распознает тип хранилища и вставит нужный HTML код для просмотра видео или виджета. Добавлена возможность вставки постов из Телеграмм каналов в ваши публикации на сайте с использованием тега [mediа=….]. В данном теге указывается просто скопированная ссылка из браузера, а далее весь необходимый код DataLife Engine сформирует автоматически. Например, для вставки поста вы можете использовать:
[media=https://t.me/hosting_consultant/63]
- Маркирование новых публикаций. Для этого в настройки скрипта в админпанели добавлена возможность указать, сколько времени необходимо считать добавленную публикацию на сайт новой. После этого в шаблонах вывода кратких и полных новостей (shortstory.tpl и fullstory.tpl) вы можете использовать теги [new] текст [/new] которые выводят текст заключённый в них если публикация считается новой, а также вы можете использовать теги [not-new] Текст [/not-new] которые выводят текст, заключённый в них, если с момента публикации прошло больше указанного в настройках времени. Время в настройках задаётся в часах. Тем самым вы можете маркировать публикации в шаблонах какими-либо плашками о том, что это новая публикация.
- Маркирование обновлённых публикаций. Для этого в настройки скрипта в админпанели добавлена возможность указать, сколько времени необходимо считать после редактирования публикации обновлённой. После этого в шаблонах вывода кратких и полных новостей (shortstory.tpl и fullstory.tpl) вы можете использовать теги [updated] текст [/updated] которые выводят текст заключённый в них если публикация считается обновлённой, и также вы можете использовать теги [not-updated] Текст [/not-updated] которые выводят текст, заключённый в них, если с момента редактирования прошло больше указанного в настройках времени. Время в настройках задаётся в часах. Тем самым вы можете маркировать публикации в шаблонах какими-либо плашками о том, что это обновлённая публикация.
Перелинковка в DLE (2 варианта)
- Модуль Перекрестные ссылки. Данный модуль предназначен, для быстрого и удобного создания перелинковки по сайту по ключевым словам. В данном разделе вы задаете ключевое слово и URL, в случае нахождения данного ключевого слова на вашей странице, оно будет заменено на гипертекстовую ссылку. В отличии от модуля "фильтр слов", который также присутствует в скрипте, в данном модуле ключевые слова ищутся по всей странице, включая весь контент (новости, комментарии, шаблоны, сторонние модули и т.д.), а не только в новостях и комментариях. Также любое внесение или изменение ключевых слов в данном разделе, приводит к моментальному применению на всех страницах вашего сайта, не требуя перестроения публикаций. Также в данном модуле поддерживается указание склонения слов, например, вы можете задать ключевое слово "Иван(ов|ова|ову)" и ссылка будет применяться к словам: Иванов, Иванова, Иванову и т.д. Поиск ключевых слов осуществляется только по словам целиком, а не просто по всем вхождениям в тексте.
- Например, ваша статья содержит несколько страниц, и вы хотите на какой-либо странице помимо стандартной навигации между ними, зашитой в шаблоне, использовать свою ссылку на какую-либо страницу, то вставьте следующий код [page=3] для просмотра 3 страницы жми тут[/page] где 3 это номер страницы вашей новости.
Читайте также
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах