» » » Количество новостей в категории для DLE

Количество новостей в категории для DLE

Название:Количество новостей
Автор: Sander
CMS: DLE 9.7 - 10.0

Описание:
*Хак имеет кеш, не дает нагрузку, не нужно не чего заливать на сайт.*
Установка:


1) В файле index.php, находим строку:

$tpl->set ( '{AJAX}', $ajax );


Перед этой строки добавляем :

/*********Главное меню**********/
$count_news = dle_cache( "count_news_of_category", $config[’skin’] );
if( !$count_news )
{
  //кэш с количеством новостей пуст
    $sql_result = $db->query("select ct.id,
                                 (select count(*) from ". PREFIX ."_post ps where ps.category = ct.id AND (DATE_FORMAT(date, '%Y%m%d')=CURDATE()) AND approve = '1') as new_,
                                 (select count(*) from ". PREFIX ."_post ps where ps.category = ct.id AND approve = '1') as allnews_
                          from ". PREFIX ."_category ct"
                          );
    $count_news_of_category = '';
    while($row = $db->get_row($sql_result))
    {  
         $t = $row['new_'].'/'.$row['allnews_'];
         $tpl->set('{count_categ_'.$row['id'].'}', $t);          
         $count_news_of_category .= $row['id'].'#'.$t.'|';
    }
    /**В кэш **/
    create_cache( 'count_news_of_category', $count_news_of_category);
    $db->free();
}
else
{
  //достанем количество новостей из кэша
  $arr_newscount = explode('|', $count_news);
  for ($i = 0; $i <= count($arr_newscount) - 2; $i++)
  {
  $arr_onenews = explode('#', $arr_newscount[$i]);  
  $tpl->set('{count_categ_'.$arr_onenews[0].'}', $arr_onenews[1]);
  }
}
/************************************/



2) Открываем файл ./engine/modules/addnews.php. Находим строку :

if( $config['allow_alt_url'] == "yes" )


Перед этой строки добавляем :

/*********hak poschet novostey**********/
clear_cache('count_news_of_category');
/****************hak poschet novostey***end*****************/


3) Открываем файл /engine/ajax/editnews.php. Ищем строку:

clear_cache( array( 'news_', 'rss', $cprefix ) );


После этой строки добавляем :

/*********hak poschet novostey**********/
clear_cache('count_news_of_category');
/****************hak poschet novostey***end*****************/


Установка завершена! winked


5) Теперь в шаблон в меню вставляем

{count_categ_2}


где 2 – это id категории.

После добавления, в браузере мы увидим "Софт 5/258" .

Если расстояние между Софт и 5/258 слишко близко, то увеличить расстояние

можно так:

Софт&nbsp;&nbsp;&nbsp;{count_categ_2}


(между Софт и 5/258 будет 3 пробела)

Ниже можно скачать полную инструкцию к хаку и варианты вывода.

  • Имя файла: Instrykcia.rar
  • Размер: 1,66 Kb
  • cкачиваний: 151
  • Md5: e66b80c4a4ee9dd1a9534efdd571af9c
  • Sha1: 58fd107dcdb2126f4c59331007b0e7af77ed8f73
  • Скачать


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии

4

candro

Посетители 16 сентября 2013 08:17
Автор ты вообще проверил работает ли файл к примеру на 10 линейке? Может стоит проверять?
4

Rave

Посетители 16 сентября 2013 08:33
Цитата: candro
Автор ты вообще проверил работает ли файл к примеру на 10 линейке? Может стоит проверять?

Что пишет?
4
Вот если бы модуль еще не выводил нолик при отсутствии новых новостей - было бы вообще прекрасно.
Из под хайда нечего не даю, а на попрошаек стучу админу.
4

rullan

Посетители 16 сентября 2013 14:27
У меня на 10-ке работает!
4

STil

Посетители 18 сентября 2013 16:06
На DLE 9.7 не работает при открытии сайта просто белый фон.
4

aa3215

Посетители 18 сентября 2013 19:06
Цитата: STil
На DLE 9.7 не работает при открытии сайта просто белый фон.

у меня все норм.
4

sparco

Посетители 19 сентября 2013 10:13
Цитата: STil
На DLE 9.7 не работает при открытии сайта просто белый фон.


Все отлично работает. Не вводите людей в заблуждения. Если не работает у Вас одного - это не значит что хак не рабочий. Перепроверьте, все ли вы правильно сделали при установке.
4
у меня тоже не работает на десятой
4
Хак рабочий 100%, но есть минус - в если есть род. категория (с ID 1) и в ней допустим еще 2 категории (ID 2 и 3), так вот если новость принадлежит к одной из этих двух категории, то все считается нормально, но выведем тэгом вывод из категории 1 и нам пишут 0/0.

Хотя может это и баг такой или я просто не вникал особо в принцип подсчета, но выводится как-то так.. что не очень удобно, но что есть то есть.
4
Попробывал у себя на 10-е - не выводит, просто тег этот пишет что в шаблон вставили и все.
QnutХорошо, посмотрим
Из под хайда ничего не даю! Не проси - ибо подобное игнорю!
4

rullan

Посетители 27 сентября 2013 16:44
*** Комментарий удален! ***
QnutНарушение пункта 10 настоящих правил, http://coderlab.ru/rules.html на первый раз предупреждение, за вторым - БАН!
4

candro

Посетители 12 января 2014 00:02
В общем, ребят. Устанавливайте по инструкции из архива и все будет нормально! А на сайте почему то код который в index,php вписывается неправильный.
Qnut, поправь пожалуйста!
4

Espio

Посетители 8 марта 2014 02:30
Долго думал! Потом увидел что пробел нах не нужен:
{count_categТУТ_2}
иии.. всё норм работает..
4

4ortic

Посетители 21 сентября 2014 12:33
поставил данный хак. и сайт слег. что это может быть?
4

sparco

Посетители 23 сентября 2014 11:05
Цитата: 4ortic
поставил данный хак. и сайт слег. что это может быть?

Кривые руки, не? Ну вобще кашпировский на сайт не заходит, вот как не просили - говорит времени на вас нету. Скрины, сюда, что и где правили ,какие модули и хаки стоят на сайте, как слег... После этого может кто и откликнется...
4

JohnSurnet

Посетители 12 января 2015 23:34
у меня на 10.3 вместо цифр просто тег и всё (
и ещё нету сточки в

"Открываем файл ./engine/modules/addnews.php. Находим строку :"

if( $config['allow_alt_url'] == "yes" ) может такое быть?
4
Не работает на 10,1!
4

MaHarder

Посетители 19 февраля 2015 08:59
Цитата: JohnSurnet
if( $config['allow_alt_url'] == "yes" ) может такое быть?

if( $config['allow_alt_url'] ) msgbox( $lang['add_ok']


на 10.4 полёт нормальный

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.