Пропустить

Количество тем/сообщений и последняя тема..

Идеи для расширения функциональности phpBB 2.0.x

Количество тем/сообщений и последняя тема..

Сообщение Vadyus » 12.01.2006 21:41

Как сделать, что-бы на главной странице так-же считались эти параметры из подфорумов..?

Vadyus
phpBB 1.0.0
 
Сообщения: 5
Зарегистрирован: 12.01.2006 21:39
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение [R: R@m$e$ :U] » 12.01.2006 22:14

а мод подфорумов, какой?
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
 
Сообщения: 1466
Зарегистрирован: 16.01.2005 14:04
Откуда: Novosibirsk,RU
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Vadyus » 12.01.2006 22:19

Хммм :). Это phpBB2 + TorrentPier, не могу сказать точно, что за мод подфорумов они в дистрибудтив положили...

Vadyus
phpBB 1.0.0
 
Сообщения: 5
Зарегистрирован: 12.01.2006 21:39
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Vadyus » 21.01.2006 15:35

[R: R@m$e$ :U] писал(а):а мод подфорумов, какой?
Categories Hierarchy (sub-forums)

Vadyus
phpBB 1.0.0
 
Сообщения: 5
Зарегистрирован: 12.01.2006 21:39
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение [R: R@m$e$ :U] » 21.01.2006 19:38

Vadyus
хм... я к счастью за последнее время видел этот мод немного... и в составе phpBB плюс... и там если я не ошибаюсь, он считает все...
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
 
Сообщения: 1466
Зарегистрирован: 16.01.2005 14:04
Откуда: Novosibirsk,RU
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение DiMk@™ » 28.02.2006 20:50

Vadyus писал(а):Хммм :). Это phpBB2 + TorrentPier, не могу сказать точно, что за мод подфорумов они в дистрибудтив положили...


открываем index.php
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']);
 }
}

serch
$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;

serch
'POSTS' => $forum_data['forum_posts'],
'TOPICS' => $forum_data['forum_topics'],

заменяем
//				'POSTS' => $forum_data['forum_posts'],
//				'TOPICS' => $forum_data['forum_topics'],

				'POSTS' => $posts,
				'TOPICS' => $topics,

открываем viewforum.php
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']);
 }
}

serch
	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&amp;". 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;

serch
'POSTS' => $forum_data['forum_posts'],
				'TOPICS' => $forum_data['forum_topics'],

меняем на
//				'POSTS' => $forum_data['forum_posts'],
//				'TOPICS' => $forum_data['forum_topics'],

				'POSTS' => $posts,
				'TOPICS' => $topics,


усё
Изображение
[GetTrackerUA-IX]
Аватара пользователя
DiMk@™
phpBB 1.2.1
 
Сообщения: 22
Зарегистрирован: 30.09.2004 12:34
Откуда: KiEv
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Fox Mulder » 20.07.2006 14:00

Господа, проследовал вышеизложенной инструкции. Все работает! Но иконка (та что самая крайняя левая) о новом сообщении не загорается напротив форума в котором находится подфорум) + не появляется желтая или оранжевая стрелочка со страничкой в самом правом столбце типа что в теме появилось новое сообщение.... Это как-то фикситься?

п.с. Появляется на главной только возле подфорума
The Truth is Out There
Аватара пользователя
Fox Mulder
phpBB 1.2.1
 
Сообщения: 21
Зарегистрирован: 20.07.2006 13:57
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Lektor » 13.06.2007 12:12

Хоть тема и старая, но проблема актуальная. И имеет гораздо "красивое" решение, чем то, которое в теме :lol:
#
#-----[ OPEN ] ----------
#
index.php
#
#-----[ FIND ] ----------
#
{catrow.forumrow.TOPICS}
#
#-----[ REPLACE WITH ] ----------
#
{catrow.forumrow.TOTAL_TOPICS}
#
#-----[ FIND ] ----------
#
{catrow.forumrow.POSTS}
#
#-----[ REPLACE WITH ] ----------
#
{catrow.forumrow.TOTAL_POSTS}

Вот и все....
ЗЫ В тему пришел по линку из другого форума :)

Lektor
phpBB 2.0.18
 
Сообщения: 580
Зарегистрирован: 20.04.2006 15:19
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение r2droid » 14.10.2007 13:05

Тема по-прежнему актуальна :(

Предложенный DiMk@™ код считает и показывает на главной количество тем в подфорумах, показывает на главной последнее новое сообщение из подфорумов, но действительно остается эта досадная неприятность - не загораются большие иконки новых сообщений, если посты размещены в подфорумах :cry:
Пожалуйста, проверьте код кто умеет.

Пост Lektor не годится: никаких {catrow.forumrow.TOPICS} нигде нет.

r2droid
phpBB 1.0.0
 
Сообщения: 1
Зарегистрирован: 14.10.2007 12:45
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Количество тем/сообщений и последняя тема..

Сообщение Kontrochka » 14.09.2008 20:40

Тема старенькая, но все начинающие с ней сталкиваются, ответ об иконках оставила в Теме
Аватара пользователя
Kontrochka
phpBB 1.4.4
 
Сообщения: 83
Зарегистрирован: 15.11.2007 4:26
Откуда: Вильнюс
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.


Вернуться в Запросы модов для phpBB 2.0.x

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы