Раздел Название темы Ответов Последний
Мануалы / Статьи Актуальные SEO-стратегии (2020) 0 Dle3
Другие CMS [Opencart] Супер сборник модулей и шаблонов 0 Dle3
XRumer Видео курс по работе с Хрумером 0 Dle3
Создание сайтов Идеальный сайт на WordPress (2020) 0 Dle3
Создание сайтов [Макс Ширко] Курс по разработке сайтов на Тильде ( ... 0 Dle3

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

Хаки для DLE 10 декабрь 2013 Добавил: Dle3
  • 0
Информация предоставлена сайтом dle3.ru исключительно в ознакомительных целях. Администрация сайта не несет ответственности за его содержимое.
Скачать бесплатно Самый просматриваемый материал за текущий день.

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

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

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

Вот для примера включил у себя:
Самый просматриваемый материал за текущий день

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


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

Так же отдельно стоит отметить, что данный метод работает только при выключенном (!) кешировании счетчика просмотров.

Установка:
Выполнить запрос в БД:

Открыть файл 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'],


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



С уважением,
Олег Александрович a.k.a. Sander
Коммент Комментариев: 2          Нашли ошибку в тексте?
recomend
  1. ava

    Написал: Kiss27
    Группа: Посетители Пользователь offline
    1
    9 марта 2014 14:41
    Полезная вещь еще бы получилось его установить

  2. ava

    Написал: FreshCool
    Группа: Посетители Пользователь offline
    2
    25 июня 2015 10:09
    Ха, прикол! Я искал и случайно увидел, norm!

Попасть в историю, Комментировать =)
    Имя:* E-Mail:*