digital7
Постоялец
- Регистрация
- 25 Сен 2011
- Сообщения
- 44
- Реакции
- 7
- Автор темы
- #1
Уважаемые знатоки! Есть вроде бы элементарный вопрос, решение которого мне в голову не пришло.
Есть мини-модуль выводящий подкатегории при переходе в саму категорию (в контенте сайта). Так вот, решил прикрутить к нему подсчет количества постов в выводимых подкатегориях, прикрутил, считает, но есть небольшой нюанс. Подсчет ведется если в категории есть посты, как раз они и считаются, а если в этой категории есть ПОДКАТЕГОРИЯ тоже с постами она не считается
Как быть?
Собственно код запроса
Код самого модуля:
Есть мини-модуль выводящий подкатегории при переходе в саму категорию (в контенте сайта). Так вот, решил прикрутить к нему подсчет количества постов в выводимых подкатегориях, прикрутил, считает, но есть небольшой нюанс. Подсчет ведется если в категории есть посты, как раз они и считаются, а если в этой категории есть ПОДКАТЕГОРИЯ тоже с постами она не считается
Как быть?
Собственно код запроса
PHP:
//Подсчитаем количество новостей в выводимых подкатегориях
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . USERPREFIX . "_post WHERE category=". $cats[id] . "" );
$news_counter = $row['count'];
Код самого модуля:
PHP:
<?php
if(!defined('DATALIFEENGINE'))
{
die("Hacking attempt!");
}
function CatMenuUrl( $id, $all_info ) {
if ( ! $id ) return;
$parent_id = $all_info[$id]['parentid'];
$url = $all_info[$id]['alt_name'];
while ( $parent_id ) {
$url = $all_info[$parent_id]['alt_name'] . "/" . $url;
$parent_id = $all_info[$parent_id]['parentid'];
if ( $all_info[$parent_id]['parentid'] == $all_info[$parent_id]['id'] ) break;
}
return $url;
}
#-----------------------------------------#
if ($do == "cat" and $category != '' and $subaction == '') {
if( $category) {
foreach ( $cat_info as $key => $cats ) {
$all_info[$key]['id'] = $cats['id'];
$all_info[$key]['parentid'] = $cats['parentid'];
$all_info[$key]['name'] = $cats['name'];
$all_info[$key]['alt_name'] = $cats['alt_name'];
$all_info[$key]['icon'] = $cats['icon'];
if ( $cats['alt_name'] == $category )
{$id_now = $cats[id];}
}
foreach ( $cat_info as $key => $cats ) {
$all_info[$key]['id'] = $cats['id'];
$all_info[$key]['parentid'] = $cats['parentid'];
$all_info[$key]['name'] = $cats['name'];
$all_info[$key]['alt_name'] = $cats['alt_name'];
$all_info[$key]['icon'] = $cats['icon'];
//Подсчитаем количество новостей в выводимых подкатегориях
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . USERPREFIX . "_post WHERE category=". $cats[id] . "" );
$news_counter = $row['count'];
if ($cats[parentid] == $id_now) { $id_category = $cats[id];
if ( $config['allow_alt_url'] == "yes" )
$cat_menu .= "<div class=\"catz\">
<a href=\"" . $config['http_home_url'] . get_url($id_category) . "/\" rel=\"index section\">
<div align=\"center\"><img src=\"/uploads/folder.png\" align=\"center\"><br>". $cats[name] . "
($news_counter)
</a></div></div>";
else $cat_menu.='<li>
<h3>
<a rel=\"index section\" href="'.$config['http_home_url'].'index.php?do=cat&category='.$cats[alt_name].'">'.$cats[name]."</a>
</h3>
</li>";
}
}
}
}
?>