• Автор:

    Braund
  • Добавлено:

    янв 02, 2014
  • Комментариев:

    1
  • Просмотров:

    2 249

Хак Вывод количества новостей на главной

Хак Вывод количества новостей на главной

Хак будет направлен на вывод количества новостей на главной странице DLE.

*Хак будет направлен на вывод количества новостей на главной странице DLE:
1. Вывод общего количества новостей;
2. Вывод количества новостей за месяц;
3. Вывод количества новостей за неделю;
4. Вывод количества новостей за день;*

Установка:

1) Первое выведем "общее количество новостей" на главной DLE:
Открыть index.php, найти:
$tpl->load_template ( 'main.tpl' );


После вставить:
$stats_news = dle_cache('news_count');
if(empty($stats_news)){
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post" );
$stats_news = $row['count'];
create_cache('news_count',$stats_news);
}
$tpl->set ( '{news_num}', $stats_news );


В шаблоне будет доступен такой тег:
{news_num}


2) Выводим новости опубликованные за месяц:
Открыть index.php, найти:
$tpl->load_template ( 'main.tpl' );


После вставить:
$cached = 3500;

$stats_month = dle_cache("stats_month");
if (!$stats_month) {
$time = time() - $cached;
$temp_date = date( 'Y-m-d H:i', $_TIME - (3600 * 24 * 31) );
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 31 DAY AND approve ='1'" );
$stats_month = $row['count'];
create_cache("stats_month",$stats_month);
}
$tpl->set ( '{stats_month}', $stats_month )


В шаблоне будет доступен тег::
{stats_month}


3) Выводим количество опубликованных новостей за неделю:
Открыть index.php, найти:
$tpl->load_template ( 'main.tpl' );


После вставить:
$stats_week = dle_cache("stats_week");
if (!$stats_week) {
$time = time() - $cached;
$temp_date = date( 'Y-m-d H:i', $_TIME - (3600 * 24 * 7) );
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 7 DAY AND approve ='1'" );
$stats_week = $row['count'];

create_cache("stats_week",$stats_week);
}
$tpl->set ( '{stats_week}', $stats_week );


Теперь в шаблоне доступен тег вывода количества новостей за сутки:
{stats_week}


4) И так последнее выводим количество новостей за день (сутки):
Открыть index.php, найти:
$tpl->load_template ( 'main.tpl' );


После вставить:
$stats_day = dle_cache("stats_day");
if (!$stats_day) {
$time = time() - $cached;
$temp_date = date( 'Y-m-d H:i', $_TIME - (3596 * 24) );
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 24 HOUR AND approve ='1'" );
$stats_day = $row['count'];
create_cache("stats_day",$stats_day);
}
$tpl->set ( '{stats_day}', $stats_day );


В шаблоне вставляем тег обработки новостей за сутки:
{stats_day}


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

Автор: webfull
Версия DLE: 9.x - 10.x dle
Вернуться

Комментарии:


  1. A_2 → 19 апреля 2016 13:41
    Как под версию dle 11 сделать ?
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.