/ / Модуль "Популярные новости категории"
март 17 2012

Модуль "Популярные новости категории"

TopNews Category


В Datalife Engine уже есть встроенный модуль, который выводит популярные новости со всего сайта ( {topnews} - https://dle-news.ru/extras/online/topnews.html ). Но иногда возникает необходимость вывести не только популярные новости со всего сайта, но и популярные новости просматриваемой категории.

Установка:
1) В main.tpl прописать:
{topnews_category} - вывод самых рейтинговых статей просматриваемой категории, добавленных за последний месяц.
[topnews_category] текст [/topnews_category] - выводят информацию, заключенную в тегах, только если для просматриваемой категории есть популярные новости; в противном случае информация удаляется из шаблона.

2) В папке вашего шаблона создать файл шаблон topnews_category.tpl (в этом файле можно использовать все теги, которые доступны для topnews.tpl - подробнее: https://dle-news.ru/extras/online/topnews.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';
}
// Подключение модуля "Популярные новости категории" | конец
5) Скачать архив https://dle-news.ru/files/topnews_category.zip , в котором находится файл topnews_category.php (этот файл - копия оригинального файла /engine/modules/topnews.php DLE 9.5, но с незначительными изменениями), и распаковать содержимое архива в папку /engine/modules/

6) В файле /engine/classes/antivirus.class.php найти строчку:
"./engine/modules/topnews.php",
и под ней прописать:
"./engine/modules/topnews_category.php",

Версиия скрипта: 9.6
Автор: ZEOS
Если у вас есть какие-то вопросы, пишите -> http://zeos.in/index.php?do=feedback

Комментарии

Captain

Captain

29 марта 2012 11:59 Клиенты
2
Спасибо, ZEOS. Сейчас редизайн делаю, пригодилось, мне для сайта нужная "фича". fellow
Ramazello

Ramazello

5 апреля 2012 18:05 Посетители
0
а можно сделать, что бы только фиксированные новости в своей категории выводить?
WWW.ZEOS.IN

WWW.ZEOS.IN

19 апреля 2012 09:54 Клиенты
0
Файл: https://dle-news.ru/files/topnews_category.zip обновлён.
Исправлена ошибка, которая возникала при обращении к несуществующей категории сайта.



Цитата: Captain
Спасибо, ZEOS. Сейчас редизайн делаю, пригодилось, мне для сайта нужная "фича". fellow
Всегда пожалуйста winked

Цитата: Ramazello
а можно сделать, что бы только фиксированные новости в своей категории выводить?
Извините, но я не понял Ваш вопрос feel
Ramazello

Ramazello

4 мая 2012 10:59 Посетители
0
Цитата: WWW.ZEOS.IN
Цитата: Ramazello
а можно сделать, что бы только фиксированные новости в своей категории выводить?Извините, но я не понял Ваш вопрос


Ну например в 1 категории у меня 10 новостей, 3 из них зафиксированы, так вот, возможно ли что бы когда заходят в 1 категорию, эти 3 зафиксированные новости у меня выводились?
noxxxxx

noxxxxx

25 мая 2012 18:34 Посетители
0
Под 9.6 не хочет работать.
Вываливает ошибку запроса к БД.
noxxxxx

noxxxxx

26 мая 2012 00:06 Посетители
0
Всё, спасибо. Разобрался.
Aksakal81

Aksakal81

18 июня 2012 16:53 Посетители
0
Под 9.6 не хочет работать.
Вываливает ошибку запроса к БД.
WWW.ZEOS.IN

WWW.ZEOS.IN

19 июня 2012 10:47 Клиенты
0
Цитата: Aksakal81
Под 9.6 не хочет работать.

В версии DLE 9.6 в файле /engine/modules/topnews.php произошли изменения (в сравнении с DLE 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 ) {
alextrish

alextrish

8 августа 2012 13:31 Клиенты
0
Модуль не работает когда новость присутствует в нескольких категориях. Пример не правильной работы вам показывал.
WWW.ZEOS.IN

WWW.ZEOS.IN

14 августа 2012 11:07 Клиенты
0
Цитата: alextrish
Модуль не работает когда новость присутствует в нескольких категориях. Пример не правильной работы вам показывал.
alextrish, я хотел бы Вам помочь, но, к сожалению, у меня нет доступа к Вашему сайту.

###

Файл: https://dle-news.ru/files/topnews_category.zip обновлен.
Исправлена ошибка, из-за которой скрипт неверно работал с включенной функцией "Мультикатегории".


Версия скрипта: 9.6
GrayZOR

GrayZOR

10 декабря 2012 09:04 Клиенты
0
9.7 работает?
shuteev

shuteev

26 июня 2013 08:46 Клиенты
0
На версии 10.0 будет корректно работать?
izbushkin

izbushkin

23 октября 2013 03:03 Клиенты
0
Кто пробовал на 10.0? Работает?
izbushkin

izbushkin

10 ноября 2013 11:12 Клиенты
0
Я спрашивал - я и отвечаю: на 10.1 прекрасно работает!

Разместил код

[topnews_category]
{topnews_category}
[/topnews_category]
{topnews}

в main.tpl

Подскажите, а как сделать, чтобы новости, выводимые {topnews} показывались только на главной странице?
celsoft

celsoft

10 ноября 2013 12:52 Администраторы
0
Цитата: izbushkin
Подскажите, а как сделать, чтобы новости, выводимые {topnews} показывались только на главной странице?

использовать теги aviable https://dle-news.ru/extras/online/index.html?startnews.html

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Календарь
«    Октябрь 2017    »
ПнВтСрЧтПтСбВс
 1
2345678
9101112131415
16171819202122
23242526272829
3031 
Опрос на сайте
Совершаете ли вы покупки в интернет?

Популярные новости
Архив новостей
Сентябрь 2017 (2)
Август 2017 (5)
Июль 2017 (1)
Июнь 2017 (1)
Апрель 2017 (3)
Март 2017 (2)