DataLife Engine / Изменить количество топ новостей, интервал, символов

Изменить количество топ новостей, интервал, символов


Хак дле помогает ответить на вопросы, как поменять количество выводимых популярных топ новостей, интервал через которое обновляется новый рейтинг и количество символов в заголовках, который выводится тегом {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 изменить количество выводимых популярных топ новостей, интервал через которое обновляется новый рейтинг или кол символов в заголовках новостях.
Вот и все, установка окончена! Удачи!

Hak-DLE-Tope-publikaciy.zip [19,15 Kb] (cкачиваний: 61)

Эти решения для старых версий движка до DataLife Engine v.9.7
27-01-2013, 18:10
Вернуться назад