Главная » Файлы » Все для DLE » Хаки |
23.10.2010, 19:50 | |
![]() Загрузок: 0
от на днях бороздя просторы нета нарыл такой вот интересный на мой взгляд хак для DLE. К сожалению автор мне не известен.
Позволяет проставить количество новостей за сегодня и общее количество по конкретной категории в меню навигации или любом другом месте сайта. Есть возможность ставить количество новостей в каком угодно виде. Кроме того можно проставлять количество новостей в подкаталогах любой вложености. Единственное, что нужно знать для этого - это id категории. Что нового: УСТАНОВКА для версий DLE8.2-8.5 1) Создаем новый php файл, и вставить в него следущий код: Code /********* Количество новостей в главном меню **********/ $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 REGEXP concat( '^(' ,ct.id, ',)' ) or ps.category REGEXP concat( '(,' ,ct.id, ',)' ) or ps.category REGEXP concat( '(,' ,ct.id, ')$' ) or 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 REGEXP concat( '^(' ,ct.id, ',)' ) or ps.category REGEXP concat( '(,' ,ct.id, ',)' ) or ps.category REGEXP concat( '(,' ,ct.id, ')$' ) or 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]); } } /************************************/ ?> Навигация Лучшее на сайте Консультант : Приморский Сайт поддержки Datalife Engine - Модули, хаки, баг-фиксы, шаблоны Сайт поддержки 8DLE Хаки > Количество новостей в меню навигации v.3.0 * 51 (голосов: 1) Количество новостей в меню навигации v.3.0 Вот на днях бороздя просторы нета нарыл такой вот интересный на мой взгляд хак для DLE. К сожалению автор мне не известен. Позволяет проставить количество новостей за сегодня и общее количество по конкретной категории в меню навигации или любом другом месте сайта. Есть возможность ставить количество новостей в каком угодно виде. Кроме того можно проставлять количество новостей в подкаталогах любой вложености. Единственное, что нужно знать для этого - это id категории. Что нового: УСТАНОВКА для версий DLE8.2-8.5 1) Создаем новый php файл, и вставить в него следущий код: ?> Сохроняем его под именем news_count.php в engine/modules/ 2) Открываем index.php Code require_once ROOT_DIR . '/engine/init.php'; ниже вставляем: Code clear_cache('count_news_of_category'); 5) В шаблоне main.tpl ставите теги на количество новостей. Тег выглядит так: {count_categ_2}, где 2 – это id категории. Например у меня в шаблоне main.tpl, где я отображаю менюшку, будет выглядит так: Отобразиться как Софт 5|258. (о формировании внешнего вида содержимого тега см. ниже) Формировании внешнего вида Code $t = $row['new_'].'|'.$row['allnews_']; Для данной строки содержимое отобразится так: 8|2358 Рассмотрим примеры: Code $t = ' ('.$row['new_'].'/'.$row['allnews_']. ' )'; Отобразиться: (8/2358) Пример 2: Code $t = ' ('.$row['allnews_'].'/'.$row['new_']. '+)'; Отобразиться: (2358/8+) Пример 3: Code $t = ' (всего:'.$row['allnews_'].', сегодня:'.$row['new_']. ')'; Отобразиться: (всего: 2358 сегодня: 8) Кроме того, есть возможность убрать 0 (ноль), если новостей на сегодня нет. Code $t = $row['new_'].'|'.$row['allnews_']; ставим 2 строки Code [/code] [code]if( $row['new_'] == '0') {$news_now = '(';} else {$news_now = '('.$row['new_'].'/';}; $t = $news_now.$row['allnews_'].')'; | |
Просмотров: 670 | Загрузок: 0 | Рейтинг: 0.0/0 |
Модули [2] |
Шаблоны для DLE [3] |
Хаки [4] |