Количество тем/сообщений и последняя тема..
-
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 19 лет 3 месяца
Количество тем/сообщений и последняя тема..
Как сделать, что-бы на главной странице так-же считались эти параметры из подфорумов..?
-
- phpBB Maniac
- Сообщения: 1464
- Стаж: 20 лет 3 месяца
- Откуда: Novosibirsk,RU
а мод подфорумов, какой?
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
-
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 19 лет 3 месяца
-
- phpBB 1.0.0
- Сообщения: 5
- Стаж: 19 лет 3 месяца
-
- phpBB Maniac
- Сообщения: 1464
- Стаж: 20 лет 3 месяца
- Откуда: Novosibirsk,RU
Vadyus
хм... я к счастью за последнее время видел этот мод немного... и в составе phpBB плюс... и там если я не ошибаюсь, он считает все...
хм... я к счастью за последнее время видел этот мод немного... и в составе phpBB плюс... и там если я не ошибаюсь, он считает все...
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
-
- phpBB 1.2.1
- Сообщения: 22
- Стаж: 20 лет 7 месяцев
- Откуда: 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,
-
- phpBB 1.2.1
- Сообщения: 28
- Стаж: 18 лет 9 месяцев
Господа, проследовал вышеизложенной инструкции. Все работает! Но иконка (та что самая крайняя левая) о новом сообщении не загорается напротив форума в котором находится подфорум) + не появляется желтая или оранжевая стрелочка со страничкой в самом правом столбце типа что в теме появилось новое сообщение.... Это как-то фикситься?
п.с. Появляется на главной только возле подфорума
п.с. Появляется на главной только возле подфорума
The Truth is Out There
-
- phpBB 2.0.7
- Сообщения: 574
- Стаж: 19 лет
Хоть тема и старая, но проблема актуальная. И имеет гораздо "красивое" решение, чем то, которое в теме
Вот и все....
ЗЫ В тему пришел по линку из другого форума

Код: Выделить всё
#
#-----[ OPEN ] ----------
#
index.php
#
#-----[ FIND ] ----------
#
{catrow.forumrow.TOPICS}
#
#-----[ REPLACE WITH ] ----------
#
{catrow.forumrow.TOTAL_TOPICS}
#
#-----[ FIND ] ----------
#
{catrow.forumrow.POSTS}
#
#-----[ REPLACE WITH ] ----------
#
{catrow.forumrow.TOTAL_POSTS}
ЗЫ В тему пришел по линку из другого форума

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

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

Пожалуйста, проверьте код кто умеет.
Пост Lektor не годится: никаких {catrow.forumrow.TOPICS} нигде нет.
-
- phpBB 1.4.3
- Сообщения: 83
- Стаж: 17 лет 5 месяцев
- Откуда: Вильнюс
Re: Количество тем/сообщений и последняя тема..
Тема старенькая, но все начинающие с ней сталкиваются, ответ об иконках оставила в Теме