
Представляем новый хак для dle «Самый просматриваемый материал за текущий день», чтобы вывести на главной список топ новостей и кол. самых просматриваемых материалов за текущий день. Данные выводятся тегом custom, достаточно внести некоторые изменения в DataLife Engine версии 10, настроить ваш собственный шаблончик и все.
Пример хака дле самый просматриваемый материал за текущий день вы можете видеть на снимке.
Как видно, сначала сортируется по наибольшему количеству дневного просмотра, потом по общему количеству (если количества дневных просмотров равны).
Пример шаблона:
{title} - ({views} + <b>{day_read}</b>)<br/>
{title} - просто заголовок
{views} - общее количество просмотров, стандартно
{day_read} - количество просмотров за текущий день
Внимание! Хак будет работать только при выключенном (!) кешировании счетчика просмотров.
Установка:
Выполнить запрос в БД:
ALTER TABLE `dle_post_extras` ADD `day_read` INT( 6 ) NOT NULL DEFAULT '0';
Открыть файл 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'],
В шаблоне сайта выводить, например так:
{custom order="day_read" limit="10"}
С уважением,
Олег Александрович a.k.a. Sander
Скачать хаки для dle, как хак самый просматриваемый материал за текущий день в текстовом файле, поможет если у вас появляются ошибки с кодом скопированный в браузере