
Хак дле помогает ответить на вопросы, как поменять количество выводимых популярных топ новостей, интервал через которое обновляется новый рейтинг и количество символов в заголовках, который выводится тегом {topnews}. Как оказалось в самом движке не предусмотрен вариант такой настройки. Поэтому для тех кому нужно установить свой интервал или количество TopNews новостей, ограничение символов, предлагается на dle9.com ответ, хак dle, с помощью которого легко вы сможете найти нужное место, чтобы установить свои настройки.
Для установки количество топ новостей, интервал
Ищем в:
/engine/modules/topnews.php
$this_month = date ('Y-m-d H:i:s', $_TIME);
$db->query("SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,15");
Данный параметр устанавливает количество в один месяц
INTERVAL 1
Чтобы получить возможность управлять количество в днях
Внимание! Для того чтобы сделать количество по ДНЯМ достаточно только в DLE 10.0, 10.1, 10.2, 10.3, выше кажется уже разработчики внедрили эту опция в настройках скрипта
Это
INTERVAL 1 MONTH
поменять на
INTERVAL 3 DAY
Количество публикаций в топе DLE 10.0 и выше можно установить в настройках скрипта дле, то есть менять эту функцию не стоит.
LIMIT 0
Для страх версий DLE 9.x
Заменяем на
$this_day = date ('Y-m-d H:i:s', $_TIME);
$db->query("SELECT id, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve='1' AND date >= '$this_day' - INTERVAL 3 DAY AND date < '$this_day' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,15");
Как видите все менять не обязательно, меняется только эта строчка
'$this_day' - INTERVAL 3 DAY AND date < '$this_day'
Это число отвечает за количество дней в топе.
LIMIT 0,15
Число 15 отвечает за количество публикаций в топе[/spoiler]
и всё буде работать нормально, весь код менять не надо, так как там произошли изменения.
Чтобы поменять кол-во символов:
Вот в этом месте:
if (strlen($row['title']
$title = substr ($row['title']
На примеру так:
if (strlen($row['title']) > 40)
$title = substr ($row['title'], 0, 40)." ...";
Хаки dle изменить количество выводимых популярных топ новостей, интервал через которое обновляется новый рейтинг или кол символов в заголовках новостях.
Вот и все, установка окончена! Удачи!
Эти решения для старых версий движка до DataLife Engine v.9.7