Хотя лучше вставить код внутрь условия: if( $config['allow_tags'] and $row['tags'] ) { а в else добавить очистку тегов [first-match] если теги выключены в настройках новости или их нет у новости. Так будет логичней.
Просто в базе данных tags хранится как строка, но в файле show.full есть строка которая делает из нее массив:
$row['tags'] = explode( ",", $row['tags'] );
Код выше пытается сделать explode(',', $row['tags']) , а у нас там уже массив. Вот и ошибка. Php 7.x это глотал и не падал, а 8.x что скорее всего у вас такое не прощает. Вставте код до вот этого:
Sinatra
Доработка шаблона купленного у https://dle-theme.ru он меня кинул можно сказать.
13-10-2026, 22:50
Добрый день!
Готов взяться за доработку шаблона DLE.
Судя по описанию, проблему с повторным выводом страницы перед футером можно исправить. Также могу перенести необходимые блоки со старого шаблона и добавить новые.
Для оценки объёма работ уточните, пожалуйста: 1. Какая версия DLE установлена? 2. Можно ли посмотреть сайт с новым шаблоном? 3. Какие именно блоки нужно перенести и добавить? Желательно со ссылками или скриншотами.
Если объём работ соответствует описанию, можем уложиться в ваш бюджет 5 000 ₽.
Оплату после выполнения можно организовать через демонстрацию результата на тестовом стенде, с передачей готовых файлов после проверки и оплаты.
Sinatra
Какой sql запрос необходимо выполнить?
13-10-2026, 15:10
Cделай резервную копию на всякий случай
CREATE TABLE dle_post_backup LIKE dle_post; INSERT INTO dle_post_backup SELECT * FROM dle_post;
Теперь замена
UPDATE dle_post AS p JOIN ( SELECT id, ROW_NUMBER() OVER (ORDER BY id) AS rn, COUNT(*) OVER () AS total FROM dle_post ) AS n ON p.id = n.id SET p.date = TIMESTAMPADD( SECOND, FLOOR( ( (n.rn - 1 + RAND()) / n.total ) * TIMESTAMPDIFF( SECOND, '2020-01-01 00:00:00', '2026-02-01 23:59:59' ) ), '2020-01-01 00:00:00' );
Проверка результата
SELECT id, date, title FROM dle_post ORDER BY id ASC LIMIT 100;
Проверка диапазона дат
SELECT COUNT(*) AS total_news, MIN(date) AS oldest_news, MAX(date) AS newest_news FROM dle_post;
Sinatra
Какой sql запрос необходимо выполнить?
12-10-2026, 13:45
Cделай резервную копию на всякий случай
CREATE TABLE dle_post_backup LIKE dle_post; INSERT INTO dle_post_backup SELECT * FROM dle_post;
Теперь замена
UPDATE dle_post AS p JOIN ( SELECT id, ROW_NUMBER() OVER (ORDER BY id) AS rn, COUNT(*) OVER () AS total FROM dle_post ) AS n ON p.id = n.id SET p.date = TIMESTAMPADD( SECOND, FLOOR( ( (n.rn - 1 + RAND()) / n.total ) * TIMESTAMPDIFF( SECOND, '2020-01-01 00:00:00', '2026-02-01 23:59:59' ) ), '2020-01-01 00:00:00' );
Проверка результата
SELECT id, date, title FROM dle_post ORDER BY id ASC LIMIT 100;
Проверка диапазона дат
SELECT COUNT(*) AS total_news, MIN(date) AS oldest_news, MAX(date) AS newest_news FROM dle_post;