Архив для определенной категории [DLE 9.x — 10.x]

Архив для определенной категории [DLE 9.x — 10.x]

Название: Архив для определенной категории
Автор: MaRZoCHi
Версия движка DLE: 9.x — 10.x
Русификация: Qnut
Описание:
Специальный хак, который вы можете использовать для ваших архивов, поможет выводить архивы из нужных категорий. Тег {archives} в DLE первоначально сортирует публикаци по: год / месяц. Если вы хотите выводить архивы только из определенных категорий, тогда эта статья для вас. С помощью этого хака «архив» будет в состоянии стачивать номера выбранных для отображения категорий.
Установка:
1) Загрузить файлы на сайт ( Использованы файлы из DLE 10.0. Сообщите, если что-то не так!)
2) Открыть — index.php
Найти и Удалить:

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

Найти:

$tpl->compile ( 'main' ); 

Ниже добавить:

if (strpos ( $tpl->result['main'], "{archives}" ) === false) {
	if( preg_match( "#{archives\scategory=['\"](.+?)['\"]}#i", $tpl->result['main'], $match ) ) {
		$category = "category IN (" . $match[1] . ") AND";
		require_once ROOT_DIR . '/engine/modules/archive.php';
		$tpl->result['main'] = str_replace($match[0], $tpl->result['archive'], $tpl->result['main']);
	}
} else {
	$category = "";
	require_once ROOT_DIR . '/engine/modules/archive.php';
	$tpl->result['main'] = str_replace("{archives}", $tpl->result['archive'], $tpl->result['main']);
}

Использование:
* Выведётся архив из категорий 1,2 и 3
{archives category=»1,2,3″}
* Выводит все категории
{archives}