
Представляю вам дле (dle) модуль или хак TopNews Category - который позволит выводит популярные(или топ) новости из категорий.
Описание:
Как многим наверно известно в Dle Datalife Engine существует встроенный модуль, который служит для вывода популярных dle новости со всего сайта (тегом {topnews} - о его настройках и возможностях можно ознакомится в файле index.html ). Правда, в некоторых случаях возникает необходимость вывести не только популярные новости со всего сайта, но и популярные новости просматриваемой категории. Для этого собственно и был разработан модули для dle и хаки дле в одном лице, простенькой установкой, для тех кому возможно он пригодится и будет полезен.
TopNews Category вывод топ новостей из категорий
Установка:
1) В main.tpl прописать:
{topnews_category}
- вывод самых рейтинговых статей просматриваемой категории, добавленных за последний месяц.
[topnews_category] текст [/topnews_category]
- выводят информацию, заключенную в тегах, только если для просматриваемой категории есть популярные новости; в противном случае информация удаляется из шаблона.
2) В папке вашего шаблона создать файл шаблон topnews_category.tpl (в этом файле можно использовать все теги, которые доступны для topnews.tpl - подробнее: в архиве список в index.html
3) В файле /index.php найти строчку:
$tpl->set ( '{topnews}', $tpl->result['topnews'] );
и под ней прописать:
// Подключение модуля "Популярные новости категории" | началоif( $tpl->result['topnews_category'] != "" ) { $tpl->set ( '[topnews_category]', "" ); $tpl->set ( '{topnews_category}', $tpl->result['topnews_category'] ); $tpl->set ( '[/topnews_category]', "" );} else { $tpl->set_block ( "'\[topnews_category\](.*?)\[/topnews_category\]'si", "" );}// Подключение модуля "Популярные новости категории" | конец
4) В файле /engine/engine.php найти строчку:
if (intval($_GET['cstart']) > 1 ){
и над ней прописать:
// Подключение модуля "Популярные новости категории" | начало
if( $config['allow_topnews'] == "yes" and ( $dle_module == 'showfull' or $dle_module == 'cat' ) ) {
include_once ENGINE_DIR . '/modules/topnews_category.php';
}
// Подключение модуля "Популярные новости категории" | конец
if( $config['allow_topnews'] == "yes" and ( $dle_module == 'showfull' or $dle_module == 'cat' ) ) {
include_once ENGINE_DIR . '/modules/topnews_category.php';
}
// Подключение модуля "Популярные новости категории" | конец
5) Скачать архив topnews_category.zip ниже, в котором находится файл topnews_category.php (этот файл - копия оригинального файла /engine/modules/topnews.php 9.5, но с незначительными изменениями), и распаковать содержимое архива в папку /engine/modules/.
6) В файле /engine/classes/antivirus.class.php найти строчку:
"./engine/modules/topnews.php",
и под ней прописать:
"./engine/modules/topnews_category.php",
Цитата: Aksakal81
Под 9.6 не хочет работать.
В версии DLE 9.6 в файле /engine/modules/topnews.php произошли изменения (в сравнении с 9.5) в двух местах. Соответственно эти изменения нужно применить и к файлу topnews_category.php.
А именно:
1) в файле topnews_category.php найти строчку:
$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE category = " . $category_id . " AND approve=1 AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );
и заменить её на:
$db->query( "SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE p.category = " . $category_id . " AND p.approve=1 AND p.date >= '$this_month' - INTERVAL 1 MONTH AND p.date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );
2) в файле topnews_category.php найти строчку:
if( $row['flag'] and $config['seo_type'] ) {
и заменить её на:
if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 ) {
[Dle] модуль (хак) TopNews Category вывод топ новостей из категорий
Версия скрипта: 9.6
«Автор:» ZEOS
Веб-портал рекомендует (хак) Dle модуль TopNews Category вывод топ новостей из категорий