Как обновить DataLife Engine (DLE) правильно
В данной статье мы разберем как правильно обновить официальную и null версии DataLife Engine (DLE) в ручном режиме.
Все кто сталкивался в обновлением DataLife Engine (DLE) до актуальной версии 2023 года, знают, что особых сложностей там нет. Но есть подводные камни про которые стоит написать.
Все кто сталкивался в обновлением DataLife Engine (DLE) до актуальной версии 2023 года, знают, что особых сложностей там нет. Но есть подводные камни про которые стоит написать.

Все кто сталкивался с обновлением DataLife Engine (DLE) до актуальной версии в 2023 году знают, что особых сложностей в обновлении нет.
Но есть подводные камни про которые стоит написать.
Что может перестать работать после обновления DataLife Engine (DLE)
Если у вас DataLife Engine (DLE) без плагинов и ваш шаблон поддерживает новые версии DLE, то можете обновляться смело и не задумываясь.
Но это больше исключение из правил. Чаще всего, плагины которые установлены на сайт написаны под определенную версию PHP и под одну или несколько версий DLE (допустим от 13,0 до 15,2). В этой ситуации, вам придется либо отключить плагин, либо обновить его до версии которая будет работать с вашей DLE 16.1 и PHP 8.1.
С этим вопросом разобрались. Теперь перейдем к правильному ручному обновлению DLE.
Полная инструкция по обновлению DataLife Engine (DLE)
Для обновления DLE в ручном режиме, вам понадобится архив с DLE скачанный из официального или проверенного источника и прямые руки.
В архиве с DLE вы найдете инструкцию:

Но если не выполнить пункт 5, то после обновления у вас наверняка возникнут проблемы с RSS лентой. Остальное мелочи, на которые никто не обращает внимания.
Приступим к правильному обновлению.
1. Создайте полную резервную копию вашего сайта и скопируйте на локальный носитель (всякое бывает).
В резервную копию должно входить:
- Дамп базы данных;
- Архив всех файлов сайта.
2. Залогиньтесь в административной панели с правами администратора.
3. Отключите все плагины, если они установлены.
4. По инструкции: Обновите все файлы находящиеся на вашем сервере на файлы из папки /upload/ архива дистрибутива (за исключением шаблонов из папки /templates/). Внимание: Файлы из архива дистрибутива, нужно заливать на сервер поверх существующих, а не удалять предварительно папки на сервере.
5. После того как файлы будут скопированы, зайдите в админку сайта и следуйте инструкциям.
6. После того как обновится база данных до актуальной версии DLE, необходимо будет изменить версию PHP. Для DLE 16.1 рекомендуема PHP 8.0.
7. Внесите необходимые изменения в ваши шаблоны, согласно списку изменений, опубликованному на сайте по адресу: https://dle-news.ru/templates-changelog.html

И совсем не обязательно, что в *.tpl вашего шаблона будут те пункты, которые надо найти и заменить.
Все изменения в CSS от DLE 13.3 до 16.1 которые необходимо внести в ваш шаблон:
/* 13.3 и 14.0 */
.emoji_box {
width:100%;
max-width: 390px;
}
.emoji_category {
padding:7px;
clear:both;
}
.emoji_list {
margin-top:5px;
margin-bottom:5px;
width:100%;
font-family:'Apple Color Emoji', 'Segoe UI Emoji', 'NotoColorEmoji', 'Segoe UI Symbol', 'Android Emoji', 'EmojiSymbols';
font-size:2em;
}
.emoji_symbol {
float:left;
margin-bottom: 10px;
width:12.5%;
text-align:center;
}
.emoji_symbol a, .emoji_symbol a:hover {
cursor: pointer;
text-decoration:none;
}
.native-emoji { font-size: 1.3em; font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'NotoColorEmoji', 'Segoe UI Symbol', 'Android Emoji', 'EmojiSymbols';
}
/* 14.2 и 14.3 */
.hljs-literal { color: #0184bb;
}
.hljs-string, .hljs-regexp, .hljs-addition, .hljs-attribute, .hljs-meta-string { color: #50a14f;
}
.hljs-built_in, .hljs-class .hljs-title { color: #c18401;
}
.hljs-attr, .hljs-variable, .hljs-template-variable, .hljs-type, .hljs-selector-class, .hljs-selector-attr,
.hljs-selector-pseudo, .hljs-number { color: #986801;
}
.hljs-symbol, .hljs-bullet, .hljs-link, .hljs-meta, .hljs-selector-id, .hljs-title { color: #4078f2;
}
.hljs-emphasis { font-style: italic;
}
.hljs-strong { font-weight: bold;
}
.hljs-link { text-decoration: underline;
}
/* 15.0 и 15.1 */
figure { margin: 0;
}
figure.align-left { float: left;
}
figure.align-right { float: right;
}
figure.image.align-center { display: table; margin-left: auto; margin-right: auto;
}
figure.image figcaption {
padding: 1rem; background-color: #fafafa; font-size: .8rem; caption-side: bottom; word-break: break-word; text-align: center;
}
figure.image.align-center figcaption {
display: table-caption;
}
/* 15.2 и 15.3 */
.comments-image-gallery { margin: 0; padding: 0; list-style: none; clear: both;
}
.comments-image-gallery li{
list-style: none;
margin: 0;
padding: 0;
}
.comments-image-gallery li img{ float: left; margin-right: 5px; border: 5px solid #fff; width: 100px; height: 100px; transition: box-shadow 0.5s ease;
}
.comments-image-gallery li img:hover { box-shadow: 0px 0px 7px rgba(0,0,0,0.4);
}
.mce-toc { border: 1px solid #dbdada; margin: 0 0 .7rem 0;
}
.mce-toc h2 { margin: 4px;
}
.mce-toc ul { padding-left: 20px; list-style: none; margin-top: 0; margin-bottom: 0; margin-block-start: 1em; margin-block-end: 1em;
}
.mce-toc ul ul { padding-left: 20px; margin-block-start: 0; margin-block-end: 0;
}
.mce-toc li { list-style-type: none;
}
/* 15.3 и 16.0 */
.image-bordered {
border: 1px solid #ddd;
}
.image-shadows {
box-shadow: rgb(9 30 66 / 25%) 0px 4px 8px -2px, rgb(9 30 66 / 8%) 0px 0px 0px 1px;
}
.image-padded {
padding: 0.5rem;
}
.comments-user-profile { font-weight: bold; cursor: pointer; color: #3394e6;
}
/* 16.0 и 16.1 */
.title_spoiler svg{
vertical-align: middle;
margin-top: -4px;
margin-right: 7px;
height: 16px;
width: 16px;
}
8. Актуализируем файл robots.txt. Т.к. при обновлении он был заменён.
Вписываем:
Host: https://сайт.ком
Sitemap: https://сайт.ком/sitemap.xml
9. Актуализируем файл robots.txt. Так как при обновлении он тоже был заменён.
Смотрим в старом файле изменения которые вносились для работы плагинов, или для редиректов.
10. Ещё одна важная правка о которой не пишут в официальной инструкции:
В main.tpl (и если есть main-page.tpl) вашего шаблона, необходимо найти
{content}
заменить на
<div id="dle-content">{content}</div>
После обновления, включаем плагины по одному и проверяем работоспособность сайта.
На этом обновление DLE можно считать законченным.
Кому было полезно, пишите комменты и дополнения.