Все для CMS » DataLife Engine » Хаки и модули » Самый просматриваемый материал за текущий день

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

  • 1
Данный материал предоставлен сайтом All4Cms.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Самый просматриваемый материал за текущий день.
Самый просматриваемый материал за текущий день

Прошу внимательно прочитать принцип работы.

Метод основан на алгоритме предложенном в этой теме.

Его особенность заключается в том, что в счетчике просмотров учитываются только просмотры за текущий день, т.е. с 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 ($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"}

Разработчик: Sander


  • Хаки и модули
  • 12-12-2013, 12:20
  • 2 883
Вернуться назад
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.