DataLife Engine > Версия для печати > Хак — подключить еще один topnews

Хак поможет подключить еще один TOP новостей/статей методом клонирования topnews.php. И так поехали.

Установка:

1. В папке engine/modules/ находим файл topnews.php и делаем его копию с названием topnews1.php.2. Открываем файл topnews1.php, находим в нем (в Dle 10.0 встречается 8 раз):

topnews

И переименовываем в:

topnews1

3. Заходим в свой шаблон, находим файл topnews.tpl и делаем его копию с названием topnews1.tpl.4. В файле index.php ищем:

require_once ROOT_DIR . '/engine/init.php';

Ниже вставляем:

require_once ENGINE_DIR.'/modules/topnews1.php';

Еще ищем:

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

Ниже вставляем:

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

5. В шаблоне main.tpl за вывод топовых новостей будет отвечать тег:

{topnews1}

1375838494_1375831903_kak-podklyuchit-esche-odin-topnews-2-6359153 1375838535_1375831921_kak-podklyuchit-esche-odin-topnews-3-6003589 Готово!Это сделано для того, чтобы вывести свой TOP для каждой категории или подкатегории, если используем кобминацию запрета вывода новостей определенной категории для topnews. Допустим нужен вывод новостей в topnews всех категорий, но кроме одной категории…к примеру с ID1.Для того чтобы вывести TOP с определённой категории тогда тогда подключаем так:В файле /engine/modules/topnews.php, найти:

WHERE

И после добавить:

category IN (1,2,3) AND

Где 1,2,3 — номера категорий.Чтобы каждый topnews был независимый от конфигов DLE (в частности на количество отображения новостей):Открываем файл topnews1.php и ищем:

date DESC LIMIT 0,{$config['top_number']}" );

Заменяем на :

date DESC LIMIT 0,5" ); 

Где 5 — это количество новостей в блоке.

Версия DLE: 9.8-10.0

Автор: DaivZ Вернуться назад