Самая популярная новость за прошедший день.

К вашему вниманию хочу предложить хак: «Самая популярная новость за прошедший день», с помощью него тегом custom можно будет вывести наиболее популярный материал за прошедший день.

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

Метод создан на порядке действий, предложенных в данной теме.

Его отличие состоит в том, что считаются в счетчике просмотров лишь те просмотры, которые были за прошедший день, то есть с полночи, до текущей минуты.

Как сразу заметно, вначале сортировка происходит по самому большому числу дневных просмотров, затем по совместному количеству (если число дневных просмотров одинаково).

Шаблон:

{title} - ({views} + <b>{day_read}</b>) 
{title} - Заголовок {views} - общее число просмотров, стандартно {day_read} - число просмотров за прошедший день. 

Так же нужно отметить в отдельности, что настоящий метод функционирует лишь при отключенном (!) кешировании счетчика просмотров.

Установка:
1) Осуществить запрос в БД:

ALTER TABLE `dle_post_extras` ADD `day_read` INT( 6 ) NOT NULL DEFAULT '0';

2) Открыть файл 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"; }

3) Открыть файл engine/modules/show.full.php

Найти код (2шт):

news_read=news_read+1

Изменить на:

news_read=news_read+1, day_read=day_read+1

4) Открыть файл engine/modules/cron.php

Найти строку:

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'],

2) В шаблоне сайта main.tpl выводить, к примеру, так:

{custom order="day_read" limit="10"} 
Пожаловаться Подписаться
0 ответов
авторизуйтесь чтобы ответить