Отображение последних тем в списке форумов phpBB3

Небольшие моды и хаки для форума phpBB3
Правила форума
При размещении мода/статьи взятой с другого форума/сайта обязательно необходимо указывать первоисточник сообщения.
 • Просмотры: 8479
Аватара пользователя
Alex1
Сообщения: 1
Зарегистрирован: 22 мар 2013, 21:27
Сообщение

Отображение последних тем в списке форумов phpBB3

22 мар 2013, 21:34

PPK, спасибо вам огромное за инструкцию, сделал по ней, но всплыл косяк. Не то что длина названия темы не отображается, а вообще вместо "размещения сообщений" и "личные сообщения" появляется белая пустая страница. Всё остальное работает как надо. версия 3.0.11, никаких модов не стоит, разве что профили налево перенес.
Аватара пользователя
PPK
Администратор
Благодарил (а): 82 раза
Поблагодарили: 1621 раз
Сообщения: 10284
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Отображение последних тем в списке форумов phpBB3

23 мар 2013, 10:06

там несложно увидеть, что с личными сообщениями этот мод никак не связан, а перенос профиля налево "очень может быть", соотв. вывод .. :|
Ma
MagmaMan
Сообщения: 5
Зарегистрирован: 11 июл 2013, 11:04
Сообщение

Отображение последних тем в списке форумов phpBB3

11 июл 2013, 11:21

Спасибо за интересный пост. Сразу все заработало, только вот мне нужно выводить ссылку на первый пост последней активной темы, а не на последний пост последней активной темы.

Как это можно сделать?
Аватара пользователя
PPK
Администратор
Благодарил (а): 82 раза
Поблагодарили: 1621 раз
Сообщения: 10284
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Отображение последних тем в списке форумов phpBB3

11 июл 2013, 12:44

Дело в том, что в phpbb3 в таблице форумов не хранится id последней темы, а хранится только id последнего сообщения, поэтому вывести в тексте последней темы ссылку на тему (т.е. фактически на первое сообщение в теме) нельзя, нужно делать доп. запросы, либо переделывать существующий..
Ma
MagmaMan
Сообщения: 5
Зарегистрирован: 11 июл 2013, 11:04
Сообщение

Отображение последних тем в списке форумов phpBB3

11 июл 2013, 13:26

А в каких именно файлах надо переделывать (или дополнять) запрос? Так-то ссылка на последнее сообщение последней активной темы стандартными методами выводиться...
Аватара пользователя
PPK
Администратор
Благодарил (а): 82 раза
Поблагодарили: 1621 раз
Сообщения: 10284
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Отображение последних тем в списке форумов phpBB3

11 июл 2013, 13:52

includes/functions_display.php перед

Код: Выделить всё

	$sql = $db->sql_build_query('SELECT', array(
		'SELECT'	=> $sql_array['SELECT'],
добавить

Код: Выделить всё

	$sql_array['LEFT_JOIN'][] = array(
		'FROM'	=> array(POSTS_TABLE => 'p'),
		'ON'	=> "f.forum_last_post_id = p.post_id"
	);

	$sql_array['SELECT'] .= ', p.topic_id';
перед

Код: Выделить всё

				$forum_rows[$parent_id]['forum_last_post_id'] = $row['forum_last_post_id'];
				$forum_rows[$parent_id]['forum_last_post_subject'] = $row['forum_last_post_subject'];
добавить

Код: Выделить всё

				$forum_rows[$parent_id]['topic_id'] = $row['topic_id'];
перед

Код: Выделить всё

		// Create last post link information, if appropriate
		if ($row['forum_last_post_id'])
		{
добавить

Код: Выделить всё

		if ($row['topic_id'])
		{
			$last_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id_last_post'] . '&t=' . $row['topic_id']);
		}
		else
		{
			$last_topic_url='';
		}
перед

Код: Выделить всё

			'U_LAST_POST'		=> $last_post_url)
		);
добавить

Код: Выделить всё

			'U_LAST_TOPIC'		=> $last_topic_url,
styles/prosilver/template/forumlist_body.html
styles/subsilver2/template/forumlist_body.html
заменить

Код: Выделить всё

<!-- IF forumrow.LAST_POST_SUBJECT --><a href="{forumrow.U_LAST_POST}"
на

Код: Выделить всё

<!-- IF forumrow.LAST_POST_SUBJECT --><a href="{forumrow.U_LAST_TOPIC}"
Ma
MagmaMan
Сообщения: 5
Зарегистрирован: 11 июл 2013, 11:04
Сообщение

Отображение последних тем в списке форумов phpBB3

11 июл 2013, 14:25

Спасибо. Эти правки надо делать в оригинальных файлах или можно в тех, что я уже поправил согласно первому посту в теме??
Аватара пользователя
PPK
Администратор
Благодарил (а): 82 раза
Поблагодарили: 1621 раз
Сообщения: 10284
Зарегистрирован: 21 мар 2009, 17:13
Сообщение

Отображение последних тем в списке форумов phpBB3

11 июл 2013, 15:17

без кода в первом сообщении это работать не будет, соотв. сначала код из него, потом это.
Ma
MagmaMan
Сообщения: 5
Зарегистрирован: 11 июл 2013, 11:04
Сообщение

Отображение последних тем в списке форумов phpBB3

11 июл 2013, 16:29

Огромное спасибо. Попробовал и все получилось.

Если кому надо, то в последнем случае, нужно заменить только первое совпадение, иначе маленькая картинка рядом с ником пользователя тоже будет ссылаться на первую страницу.
styles/prosilver/template/forumlist_body.html
styles/subsilver2/template/forumlist_body.html
заменить

Код: Выделить всё

<!-- IF forumrow.LAST_POST_SUBJECT --><a href="{forumrow.U_LAST_POST}"
на

Код: Выделить всё

<!-- IF forumrow.LAST_POST_SUBJECT --><a href="{forumrow.U_LAST_TOPIC}"
ol
olegya
Благодарил (а): 2 раза
Сообщения: 3
Зарегистрирован: 15 окт 2013, 22:46
Сообщение

Отображение последних тем в списке форумов phpBB3

15 окт 2013, 22:55

Здравствуйте! Всё сделал в точности по инструкции. Дважды специально переделывал, думал, что где-то ошибся, но нет.. Для гостя отображается "как хочется". Причем доступ к каждому форуму, темам, одинаковый - видно всё, но читать нельзя.
У зарегистрированных пользователей всё ОК :good:
Подскажите, пожалуйста, как сделать, чтобы для "гостя" отображение у всех тем было, а не как попало :( :unknown:

Вернуться в «Минимоды и хаки для phpBB3»