Хак Dle Alter TopNews переделка топ новости


Представляем Вашему вниманию необычную наработку для Dle хак Alter TopNews. Это небольшая переделка или точнее переработка с целью улучшения функционала модуля популярных новостей в дле - TopNews. Попытка сделать из скудного функционала этого модуля популярных новостей TopNews, маленькое усовершенствование, вот такая мне в голову пришла мысль немного улучить стандартный модуль. Этот хак на PHP после установки, позволит вам, выводит список Топ новостей по категориям, как это сделано, к примеру, в теге Custom. ID категории при это, вы можете указывать через запятую в любом количестве. Так в хаке я предусмотрел возможности управления количеством выводимых новостей в блоке TopNews.

Установка хака Alter TopNews довольно простая, занимает несколько минут Вашего времени. Вся инструкция по установке этого хака находится в архиве. Хорошо отображается в браузерах данный хак для dle Alter TopNews, но работать он должен и на более ранних версиях Dle. После установки Alter TopNews, появляется, возможность создавать несколько блоков c топ новостями по категориям (топ 10 игр, топ 10 фильмов, топ 10 клипов и тд.).
Хак Dle Alter TopNews переделка топ новости
После установки вместо стандартного тега топ новостей
{topnews}


, теперь Вы будете использовать тег:

{topnews category="X" limit="Y"}

, где
X - это ID категорий;
Y - количество новостей в блоке Топ новостей

Пример:

{topnews category="1,3,4" limit="13"}


Инструкция установки хака Alter TopNews:
1. Необходимо в файле index.php следующую строку и удалить её:

$tpl->set ( '{topnews}', $tpl->result['topnews'] );


Далее в этом же файле ищем строку:

$config['http_home_url'] = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );


И выше нее вставляем следующий код:

if (stripos ( $tpl->copy_template, "{topnews" ) !== false) {	$tpl->copy_template = preg_replace ( "#\{topnews category=['"](.+?)['"] limit=['"](.+?)['"]\}#ies", "topnews_print('\1', '\2')", $tpl->copy_template );}


2. Открываем файл engine/modules/functions.php и ищем строку:

function check_static($names, $block, $action = true) {


Выше нее вставляем код:

function topnews_print($cat, $limit){	global $db, $_TIME;	$cat = str_replace(" ", "", $cat );	$limit = str_replace(" ", "", $limit );	$tpl = new dle_template( );	$tpl->dir = TEMPLATE_DIR;	include (ENGINE_DIR . '/modules/topnews.php');return $tpl->result['topnews'];}


3. Далее открываем файл engine/modules/topnews.php и в самом начале файла находим строку:

$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE 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" );


И заменяем её на следующий код:
$category = str_replace( ",", "','", $cat );$where_category = "category IN ('" . $category . "')";$limits=intval($limit);  	$db->query( "SELECT id, date, short_story, xfields, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE $where_category 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,$limits" );


ВНИМАНИЕ для 9.6 Dle заменяем её на следующий код:

$category = str_replace( ",", "','", $cat );$where_category = "category IN ('" . $category . "')";$limits=intval($limit);  	$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.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" );


4. В нужном месте Вашего шаблона вставьте тег
{topnews category="1" limit="5"}

,где category="1" - это ID категорий интернет-портал, которые можно перечислять через запятую, наподобие Custom выборки
limit="5" - лимит или количество новостей в блоке TopNews.

5. В шаблоне можно указывать несколько Topnews тегов под разные категории: топ 10 игры, топ 10 клипов и тд.

Автор хака:Scorpio

Рекомендуем хак для dataLife engine Alter TopNews переделка топ новости

altertopnews_9.x.rar [13,49 Kb] (cкачиваний: 190)
00

Комментарии (0)

Оставить комментарий

Кликните на изображение чтобы обновить код, если он неразборчив