• Автор:

    Flesha
  • Добавлено:

    июл 11, 2011
  • Комментариев:

    2
  • Просмотров:

    3 970

Вывод подкатегорий в категории v 0.2

Вывод подкатегорий в категории v 0.2

Модуль выводит подкатегории при переходе в категорию, поддерживает ЧПУ, и без ЧПУ. Добавлено вывод количества новых новостей. (1 запрос+кеширование)в базу не отправляются ни одного запроса.

Установка:

В index.php после
$tpl->set ( '{topnews}', $topnews );


Вставляем
$tpl->set('{category_menu}', $cat_menu);


В engine/init.php в самом самом конце подключаем
include_once ENGINE_DIR . '/modules/category.php';


В шаблоне main.tpl в каком хотим месте вставляем
{category_menu}


Создаем файл category.php в папке /engine/modules/ с таким содержимым

<?php
if(!defined('DATALIFEENGINE'))
{
die("Hacking attempt!");
}

$massiv = dle_cache( "massiv", $config['skin'] );
if ($massiv == '') {
$massiv = array();
$temp_date = date( 'Y-m-d H:i', $_TIME - (3596 * 24) );
$numnews=$db->query("select category, count(id) as count from ".PREFIX."_post where approve='1' and date >= '$temp_date'AND date <= '$temp_date' + INTERVAL 24 HOUR group by category");
while ($numnew=$db->get_row($numnews))
{
$massiv[$numnew['category']] = $numnew['count'];
}
create_cache( "massiv", $massiv, $config['skin'] );
}
$cat_menu='';

if(!$category_id) { foreach($cat_info as $g) if ($g['parentid'] == '0') {
$schetchik ='0';

foreach ($cat_info as $podcat) if ($podcat['parentid']==$g['id']) { $schetchik = $schetchik + $massiv[$podcat['id']]; }

$schetchik = $schetchik + $massiv[$g['id']];

if ($schetchik =='0' ) {$schetchik ='';} else {$schetchik= "<font size='1' color=\"#ff0033\"> +".$schetchik."</font>";}
$cat_menu .= "<li><h2 class='nav'><a href=\"/".get_url($g['id'])."\" rel=\"index section\">". $g['name'] . "".$schetchik."</a></h2></li>"; }
if ($cat_menu !='') $cat_menu = "<ul class='nav'>".$cat_menu."</ul>";
}
elseif($category_id){ foreach($cat_info as $c) if($c['parentid']==$category_id) {
if ($massiv[$c['id']] !='' ) {$new = "<font size='1' color=\"#ff0033\"> +".$massiv[$c['id']]."</font>";}
$cat_menu .= "<li><h2 class='nav'><a href=\"/".get_url($c['id'])."\" rel=\"index section\">". $c['name'] . "".$new."</a></h2></li>"; }
if ($cat_menu !='')
$cat_menu = "<ul class='nav'>".$cat_menu."</ul>";
}
?>
dle
Вернуться

Комментарии:


  1. AlexeyEr → 12 июля 2011 10:28
    Отличная тема, у меня только 1 минус, данная фича работает только на главной странице. Открываешь новость, либо, что-то еще, тут же исчезает.
    Отображение только на главной странице.
  2. Gozan → 9 декабря 2011 13:39
    thank you for nice hack lol

    is working with 9.2 dle request
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.