Главная страница / Сторонние модули / Модуль "Популярные новости категории"
март 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

Комментарии

  1. Captain (Клиенты)

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

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

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



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

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

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


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

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

    26 мая 2012 00:06 9 комментариев
    Всё, спасибо. Разобрался.
  7. Aksakal81 (Посетители)

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

    19 июня 2012 10:47 32 комментария
    Цитата: 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 ) {
  9. alextrish (Посетители)

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

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

    ###

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


    Версия скрипта: 9.6
  11. GrayZOR (Клиенты)

    10 декабря 2012 09:04 5 комментариев
    9.7 работает?
  12. shuteev (Посетители)

    26 июня 2013 08:46 1 комментарий
    На версии 10.0 будет корректно работать?
  13. izbushkin (Клиенты)

    23 октября 2013 03:03 13 комментариев
    Кто пробовал на 10.0? Работает?
  14. izbushkin (Клиенты)

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

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

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

    в main.tpl

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

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

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

Информация

Комментирование публикаций доступно только пользователям имеющим действующую лицензию на скрипт. Если вы уже приобретали скрипт, то вам необходимо зайти на сайт под своим клиентским аккаунтом.

Календарь

«    Июль 2020    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031 

Опрос на сайте

Совершаете ли вы покупки в интернет?