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

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

Вариант вывода самых просматриваемых новостей за текущий день. Производится стандартным тегом {custom}.
 
Метод основан на алгоритме предложенном в этой теме.
Его особенность заключается в том, что в счетчике просмотров учитываются только просмотры за текущий день, т.е. с 00:01 до текущего момента.

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

Шаблон:
{title} - ({views} + <b>{day_read}</b>)<br/>

{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 ($match1 == title ) $news_msort = ASC;

После нее вставить:
		if ($match1 == day_read ){
			$sql_select = str_replace(e.news_read, ,e.news_read, e.day_read, ,$sql_select);
			$news_sort = $match1. 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 );

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

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

Заменить на:
{views} => $rownews_read, {day_read} => $rowday_read, 

6. В шаблоне сайта, в нужном месте добавить:
{custom order="day_read" limit="10"}

Готово!
 
Версия DLE: 9.x-10.х
Автор: Sander
Источник:
  • Oxigen
  • 0
  • 146
Информация
Оставлять комментарии могут только зарегистрированные посетители.
  • Рейтинг@Mail.ru
  • Яндекс.Метрика