mtrolik
Участник
- Сообщения
- 26
- Реакции
- 1
Представляю вашему вниманию Хак Самый просматриваемый материал за текущий день, который позволяет тегом custom выводить самый просматриваемый материал за текущий день.
Прошу внимательно прочитать принцип работы.
Метод основан на алгоритме предложенном в этой теме.
Его особенность заключается в том, что в счетчике просмотров учитываются только просмотры за текущий день, т.е. с 00:01 до текущего момента.
Как видно, сначала сортируется по наибольшему количеству дневного просмотра, потом по общему количеству (если количества дневных просмотров равны).
Шаблон:
{title} - просто заголовок
{views} - общее количество просмотров, стандартно
{day_read} - количество просмотров за текущий день
Так же отдельно стоит отметить, что данный метод работает только при выключенном (!) кешировании счетчика просмотров.
Установка:
1) Выполнить запрос в БД:
2) Открыть файл engine/modules/functions.php
Найти строку:
После добавить
3) Открыть файл engine/modules/show.full.php
Найти код (2шт):
Заменить на
4) Открыть файл engine/modules/cron.php
Найти строку:
После вставить
Это будет сбрасывать ежедневный счетчик.
Этот пункт выполнять только если нужна возможность вывода тега {day_read}
1) Открыть файл engine/modules/show.custom.php
Найти код:
Заменить на
2) В шаблоне сайта main.tpl выводить, например так:
{custom order="day_read" limit="10"}
Прошу внимательно прочитать принцип работы.
Метод основан на алгоритме предложенном в этой теме.
Его особенность заключается в том, что в счетчике просмотров учитываются только просмотры за текущий день, т.е. с 00:01 до текущего момента.
Как видно, сначала сортируется по наибольшему количеству дневного просмотра, потом по общему количеству (если количества дневных просмотров равны).
Шаблон:
Код:
{title} - ({views} + <b>{day_read}</b>)<br/>
{views} - общее количество просмотров, стандартно
{day_read} - количество просмотров за текущий день
Так же отдельно стоит отметить, что данный метод работает только при выключенном (!) кешировании счетчика просмотров.
Установка:
1) Выполнить запрос в БД:
Код:
ALTER TABLE `dle_post_extras` ADD `day_read` INT( 6 ) NOT NULL DEFAULT '0';
Найти строку:
Код:
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";
}
Найти код (2шт):
Код:
news_read=news_read+1
Код:
news_read=news_read+1, day_read=day_read+1
Найти строку:
Код:
if( $cron == 2 ) {
Код:
$db->query( "UPDATE " . PREFIX . "_post_extras SET day_read=0" );
Этот пункт выполнять только если нужна возможность вывода тега {day_read}
1) Открыть файл engine/modules/show.custom.php
Найти код:
Код:
'{views}' => $row['news_read'],
Код:
'{views}' => $row['news_read'], '{day_read}' => $row['day_read'],
{custom order="day_read" limit="10"}