Количество тем/сообщений и последняя тема..
- 
				Vadyus
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 19 лет 9 месяцев
Количество тем/сообщений и последняя тема..
Как сделать, что-бы на главной странице так-же считались эти параметры из подфорумов..?
			
			
									
						- 
				[R: R@m$e$ :U]  
- phpBB Maniac
- Сообщения: 1464
- Стаж: 20 лет 9 месяцев
- Откуда: Novosibirsk,RU
а мод подфорумов, какой?
			
			
									
						Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
			
						ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
- 
				Vadyus
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 19 лет 9 месяцев
- 
				Vadyus
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 19 лет 9 месяцев
- 
				[R: R@m$e$ :U]  
- phpBB Maniac
- Сообщения: 1464
- Стаж: 20 лет 9 месяцев
- Откуда: Novosibirsk,RU
Vadyus
хм... я к счастью за последнее время видел этот мод немного... и в составе phpBB плюс... и там если я не ошибаюсь, он считает все...
			
			
									
						хм... я к счастью за последнее время видел этот мод немного... и в составе phpBB плюс... и там если я не ошибаюсь, он считает все...
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
			
						ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
- 
				DiMk@™  
- phpBB 1.2.1
- Сообщения: 22
- Стаж: 21 год 1 месяц
- Откуда: KiEv
открываем index.phpVadyus писал(а):Хммм. Это phpBB2 + TorrentPier, не могу сказать точно, что за мод подфорумов они в дистрибудтив положили...
serch
Код: Выделить всё
// End session management
//Код: Выделить всё
function CalcTopicAndPostsCount($forum_id)
{
 global $db;
 global $msgCount;
 global $topicCount;
 global $last_post_time;
 global $forum_data;
// $sql='select * from phpbb_forums where forum_id='.$forum_id;
 $sql = 'SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, 
         t.topic_id AS last_topic_id, t.topic_title AS last_topic_title
  	 FROM '. FORUMS_TABLE .' f LEFT JOIN '. POSTS_TABLE .' p ON 
         p.post_id = f.forum_last_post_id
   	 LEFT JOIN '. USERS_TABLE .' u ON u.user_id = p.poster_id
  	 LEFT JOIN '. TOPICS_TABLE ." t ON t.topic_last_post_id = f.forum_last_post_id
 	 WHERE f.forum_id = $forum_id ORDER BY f.cat_id, f.forum_order"; 
 if (!$result = $db->sql_query($sql))
 {
  message_die(GENERAL_ERROR, 'Could not obtain segments information', '', __LINE__, __FILE__, $sql);
 }
 if($row = $db->sql_fetchrow($result))
 {
   $msgCount = $msgCount + $row['forum_posts'];
   $topicCount = $topicCount + $row['forum_topics']; 
   if($row['forum_last_post_id'])
   {
     if ((!$last_post_time)||($last_post_time<$row['post_time']))
     {
       $last_post_time=$row['post_time'];
       $forum_data['forum_last_post_id'] = $row['forum_last_post_id'];
       $forum_data['last_topic_id']=$row['last_topic_id'];
       $forum_data['last_topic_title']=$row['last_topic_title'];
       $forum_data['post_time']=$row['post_time'];
       $forum_data['user_id']=$row['user_id'];   
       $forum_data['username']=$row['username'];
     }
   }
 }
 $sql='select * from phpbb_forums where forum_parent='.$forum_id;
 if (!$result = $db->sql_query($sql))
 {
  message_die(GENERAL_ERROR, 'Could not obtain segments information', '', __LINE__, __FILE__, $sql);
 }
 while($row = $db->sql_fetchrow($result))
 { 
  CalcTopicAndPostsCount($row['forum_id']);
 }
}Код: Выделить всё
$posts = $forum_data['forum_posts'];
$topics = $forum_data['forum_topics'];Код: Выделить всё
//			$posts = $forum_data['forum_posts'];
//			$topics = $forum_data['forum_topics'];
                        $msgCount=0; 
                        $topicCount=0; 
			$last_post_time=0; 
			CalcTopicAndPostsCount($forum_data['forum_id']);
			$posts = $msgCount;
			$topics = $topicCount;Код: Выделить всё
'POSTS' => $forum_data['forum_posts'],
'TOPICS' => $forum_data['forum_topics'],Код: Выделить всё
//				'POSTS' => $forum_data['forum_posts'],
//				'TOPICS' => $forum_data['forum_topics'],
				'POSTS' => $posts,
				'TOPICS' => $topics,serch
Код: Выделить всё
define('LAST_TOPIC_MAX_LEN', 40);Код: Выделить всё
function CalcTopicAndPostsCount($forum_id)
{
 global $db;
 global $msgCount;
 global $topicCount;
 global $last_post_time;
 global $forum_data;
// $sql='select * from phpbb_forums where forum_id='.$forum_id;
 $sql = 'SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, 
         t.topic_id AS last_topic_id, t.topic_title AS last_topic_title
  	 FROM '. FORUMS_TABLE .' f LEFT JOIN '. POSTS_TABLE .' p ON 
         p.post_id = f.forum_last_post_id
   	 LEFT JOIN '. USERS_TABLE .' u ON u.user_id = p.poster_id
  	 LEFT JOIN '. TOPICS_TABLE ." t ON t.topic_last_post_id = f.forum_last_post_id
 	 WHERE f.forum_id = $forum_id ORDER BY f.cat_id, f.forum_order"; 
 if (!$result = $db->sql_query($sql))
 {
  message_die(GENERAL_ERROR, 'Could not obtain segments information', '', __LINE__, __FILE__, $sql);
 }
 if($row = $db->sql_fetchrow($result))
 {
   $msgCount = $msgCount + $row['forum_posts'];
   $topicCount = $topicCount + $row['forum_topics']; 
   if($row['forum_last_post_id'])
   {
     if ((!$last_post_time)||($last_post_time<$row['post_time']))
     {
       $last_post_time=$row['post_time'];
       $forum_data['forum_last_post_id'] = $row['forum_last_post_id'];
       $forum_data['last_topic_id']=$row['last_topic_id'];
       $forum_data['last_topic_title']=$row['last_topic_title'];
       $forum_data['post_time']=$row['post_time'];
       $forum_data['user_id']=$row['user_id'];   
       $forum_data['username']=$row['username'];
     }
   }
 }
 $sql='select * from phpbb_forums where forum_parent='.$forum_id;
 if (!$result = $db->sql_query($sql))
 {
  message_die(GENERAL_ERROR, 'Could not obtain segments information', '', __LINE__, __FILE__, $sql);
 }
 while($row = $db->sql_fetchrow($result))
 { 
  CalcTopicAndPostsCount($row['forum_id']);
 }
}Код: Выделить всё
	if ($forum_data['forum_last_post_id'])
			{
				$last_post_time = create_date($board_config['default_dateformat'], $forum_data['post_time'], $board_config['board_timezone']);
				$last_post = $last_post_time . '<br />';
				$last_post .= ($forum_data['user_id'] == ANONYMOUS) ? (($forum_data['post_username']) ? $forum_data['post_username'] .' ' : $lang['Guest'] .' ' ) : '<a href="'. append_sid("profile.$phpEx?mode=viewprofile&". POST_USERS_URL .'='. $forum_data['user_id']) .'">'. $forum_data['username'] .'</a> ';
				$last_post .= '<a href="'. append_sid("viewtopic.$phpEx?". POST_POST_URL .'='. $forum_data['forum_last_post_id']) .'#'. $forum_data['forum_last_post_id'] .'"><img src="'. $images['icon_latest_reply'] .'" border="0" width="18" height="9" alt="'. $lang['View_latest_post'] .'" title="'. $lang['View_latest_post'] .'" /></a>';
			}Код: Выделить всё
 $msgCount=0; 
                        $topicCount=0; 
			$last_post_time=0; 
			CalcTopicAndPostsCount($forum_data['forum_id']);
			$posts = $msgCount;
			$topics = $topicCount;Код: Выделить всё
'POSTS' => $forum_data['forum_posts'],
				'TOPICS' => $forum_data['forum_topics'],Код: Выделить всё
//				'POSTS' => $forum_data['forum_posts'],
//				'TOPICS' => $forum_data['forum_topics'],
				'POSTS' => $posts,
				'TOPICS' => $topics,- 
				Fox Mulder  
- phpBB 1.2.1
- Сообщения: 28
- Стаж: 19 лет 3 месяца
Господа, проследовал вышеизложенной инструкции. Все работает! Но иконка (та что самая крайняя левая) о новом сообщении не загорается напротив форума в котором находится подфорум) + не появляется желтая или оранжевая стрелочка со страничкой в самом правом столбце типа что в теме появилось новое сообщение.... Это как-то фикситься?
п.с. Появляется на главной только возле подфорума
			
			
									
						п.с. Появляется на главной только возле подфорума
The Truth is Out There
			
						- 
				Lektor
- phpBB 2.0.7
- Сообщения: 574
- Стаж: 19 лет 6 месяцев
Хоть тема и старая, но проблема актуальная. И имеет гораздо "красивое" решение, чем то, которое в теме   Вот и все....
 
Вот и все....
ЗЫ В тему пришел по линку из другого форума
			
			
									
						 
 
Код: Выделить всё
#
#-----[ OPEN ] ----------
#
index.php
#
#-----[ FIND ] ----------
#
{catrow.forumrow.TOPICS}
#
#-----[ REPLACE WITH ] ----------
#
{catrow.forumrow.TOTAL_TOPICS}
#
#-----[ FIND ] ----------
#
{catrow.forumrow.POSTS}
#
#-----[ REPLACE WITH ] ----------
#
{catrow.forumrow.TOTAL_POSTS}ЗЫ В тему пришел по линку из другого форума

- 
				r2droid
- phpBB 1.0.0
- Сообщения: 1
- Стаж: 18 лет
Тема по-прежнему актуальна   
 
Предложенный DiMk@™ код считает и показывает на главной количество тем в подфорумах, показывает на главной последнее новое сообщение из подфорумов, но действительно остается эта досадная неприятность - не загораются большие иконки новых сообщений, если посты размещены в подфорумах 
 
Пожалуйста, проверьте код кто умеет.
Пост Lektor не годится: никаких {catrow.forumrow.TOPICS} нигде нет.
			
			
									
						 
 Предложенный DiMk@™ код считает и показывает на главной количество тем в подфорумах, показывает на главной последнее новое сообщение из подфорумов, но действительно остается эта досадная неприятность - не загораются большие иконки новых сообщений, если посты размещены в подфорумах
 
 Пожалуйста, проверьте код кто умеет.
Пост Lektor не годится: никаких {catrow.forumrow.TOPICS} нигде нет.
- 
				Kontrochka  
- phpBB 1.4.3
- Сообщения: 83
- Стаж: 17 лет 11 месяцев
- Откуда: Вильнюс
Re: Количество тем/сообщений и последняя тема..
Тема старенькая, но все начинающие с ней сталкиваются, ответ об иконках оставила в Теме
			
			
									
						
