Хак DLE Самый просматриваемый материал за текущий день

Рубрика: Хаки для DLE » Хак DLE 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8, 9.7, 9.6, 9.5, 9.4, 9.3, 9.2, 9.0
Хак DLE Самый просматриваемый материал за текущий день
Представляем новый хак для dle «Самый просматриваемый материал за текущий день», чтобы вывести на главной список топ новостей и кол. самых просматриваемых материалов за текущий день. Данные выводятся тегом custom, достаточно внести некоторые изменения в DataLife Engine версии 10, настроить ваш собственный шаблончик и все. dle9.com



Пример хака дле самый просматриваемый материал за текущий день вы можете видеть на снимке.

Как видно, сначала сортируется по наибольшему количеству дневного просмотра, потом по общему количеству (если количества дневных просмотров равны).
Пример шаблона:
{title} - ({views} + <b>{day_read}</b>)<br/>

{title} - просто заголовок
{views} - общее количество просмотров, стандартно
{day_read} - количество просмотров за текущий день


Внимание! Хак будет работать только при выключенном (!) кешировании счетчика просмотров.

Установка:
Выполнить запрос в БД:
ALTER TABLE `dle_post_extras` ADD `day_read` INT( 6 ) NOT NULL DEFAULT '0';


Открыть файл engine/modules/functions.php
Найти строку:
        if ($match[1] == "title" ) $news_msort = "ASC";


После нее вставить:
        if ($match[1] == "day_read" ){
            $sql_select = str_replace("e.news_read, ","e.news_read, e.day_read, ",$sql_select);
            $news_sort = $match[1]." DESC, news_read";
        }


Открыть файл engine/modules/show.full.php
Найти код (2шт):
news_read=news_read+1


Заменить на:
news_read=news_read+1, day_read=day_read+1


Открыть файл engine/modules/cron.php
Найти строку:
if( $cron == 2 ) {


После нее вставить:
$db->query( "UPDATE " . PREFIX . "_post_extras SET day_read=0" );


Это будет сбрасывать ежедневный счетчик.

Этот пункт выполнять только если нужна возможность вывода тега {day_read}
Открыть файл engine/modules/show.custom.php
Найти код:
'{views}' => $row['news_read'],


Заменить на
'{views}' => $row['news_read'], '{day_read}' => $row['day_read'],


В шаблоне сайта выводить, например так:
{custom order="day_read" limit="10"}


С уважением,
Олег Александрович a.k.a. Sander
Скачать хаки для dle, как хак самый просматриваемый материал за текущий день в текстовом файле, поможет если у вас появляются ошибки с кодом скопированный в браузере
  • 40
Рубрика: DLE хаки » Хак для DLE
Ранее » DLE хак убрать ID новости из URL адреса публикации« Далее Хак для Dle Дополнительные функции в page
Добавление комментарияОставить комментарий
  • № :6
  • 1 августа 2016 03:59
Цитата: admin491
не работает sad dle 10.0

страница автора, может есть решение
Внимание! У вас нет прав для просмотра скрытого текста.
  • № :5
  • 1 августа 2016 00:35
не работает sad dle 10.0
  • № :4
  • 1 августа 2016 00:05
не работает sad
  • № :3
  • 25 января 2016 23:14
Цитата: Андрей
А если нет такой строчки что делать?

if ($match[1] == "title" ) $news_msort = "ASC";

тогда качаем ниже версию движка дле (к примеру в 10.3 есть), где такая строка есть и смотрим где она располагалось там примерно вставляем
  • № :2
  • 25 января 2016 09:11
А если нет такой строчки что делать?

if ($match[1] == "title" ) $news_msort = "ASC";
  • № :1
  • 27 января 2014 22:09
Для DLE 10.1 пойдёт ? кто проверял ?
И нагружает ли базу / сайт установка этого хака / модуля :?