Last Forum Topic On Index

Все моды, созданные нашим сообществом для phpBB 2.0.x, анонсированы тут.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер
Благодарил (а): 3 раза
Поблагодарили: 453 раза
Контактная информация:

Сообщение Палыч » 15.11.2007 11:21

Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.

Аватара пользователя
lermon
phpBB 1.4.0
Сообщения: 30
Зарегистрирован: 03.11.2007 1:43
Контактная информация:

Сообщение lermon » 25.11.2007 15:06

Здравствуйте.

такой вопрос
Как на главную вывести последние темы из подфорумов?

на главной там где должен быть последний пост выводиться время и имя юзера из подфорума, ссылка на тему из подфорума, а заголовок темы из форума

т.е. получается на главной последний пост выводится правильно за исключением названия темы!

подскажите, что нужно исправить, пожалуйста

установлен SubForum Plus

главная
Изображение

внутри форума
Изображение

как видите на главной неправильное название последней затронутой темы

Аватара пользователя
|{0N(T@NT1N
phpBB 1.4.2
Сообщения: 64
Зарегистрирован: 09.08.2007 17:52
Откуда: Украина
Контактная информация:

Сообщение |{0N(T@NT1N » 25.12.2007 18:41

automan писал(а):VVVas, большое тебе спасибо :)



еще маленький вопросик получается что картинка Изображение не меняется на Изображение
можно ли как то это исправить, или это сложно? :)
Сам исправил, а вот не делился и решения не видел, мож кому пригодится
Немного промазали просто, вот исправление уже самого мода

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

#
#-----[ OPEN ]------------------------------------------------
#
index.php

#
#-----[ FIND ]-----------------------------------------
#
	$max_topic_length = 30;

	if ( $forum_data[$j]['forum_last_post_id'] )
	{
		$forum_data[$j]['topic_title'] = (strlen($forum_data[$j]['topic_title']) > $max_topic_length) ? substr($forum_data[$j]['topic_title'], 0, $max_topic_length) . '…' : $forum_data[$j]['topic_title'];

		$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);

		$last_post = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_TOPIC_URL . '=' . $forum_data[$j]['topic_id']) . '">' . $forum_data[$j]['topic_title'] . '</a>';

		$last_post .= '&nbsp;<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a><br />';

		$last_post .= $last_post_time . '<br />';

		$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';

#
#-----[ REPLACE WITH ]---------------------------------
#
	$max_topic_length = 30;

	if ( $forum_data[$j]['forum_last_post_id'] )
	{
		$forum_data[$j]['topic_title'] = (strlen($forum_data[$j]['topic_title']) > $max_topic_length) ? substr($forum_data[$j]['topic_title'], 0, $max_topic_length) . '&hellip;' : $forum_data[$j]['topic_title'];

		$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);

		$last_post = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_TOPIC_URL . '=' . $forum_data[$j]['topic_id']) . '">' . $forum_data[$j]['topic_title'] . '</a>';

		$last_post .= '&nbsp;<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . ($unread_topics ? $images['icon_newest_reply'] : $images['icon_latest_reply']) . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a><br />';

		$last_post .= $last_post_time . '<br />';

		$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
дело было вот тут

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

<img src="' . $images['icon_latest_reply'] . '" border="0" alt="' .
, а надо было

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

<img src="' . ($unread_topics ? $images['icon_newest_reply'] : $images['icon_latest_reply']) . '" border="0" alt="' .

Pan
phpBB 1.4.2
Сообщения: 57
Зарегистрирован: 23.01.2008 13:00
Контактная информация:

Сообщение Pan » 23.01.2008 14:27

Господа, есть следующий вопрос к специалистам. Путём плясок с бубном и шаманских перестановок в файле viewforum.php заставил мод заработать в simple subforums. В процессе возникла мысль (слегка не по теме, но близко к обсуждаемому вопросу): возможно ли сделать так, чтобы в форумах в правой колонке вместо значка с листочком в ссылку на последнее сообщение темы превратилась дата последнего сообщения? Иллюстрация прилагается. Так же для братьев по несчастью выкладываю код под simple subforums.

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

#
#-----[ OPEN ]------------------------------------------------
#
viewforum.php

#
#-----[ FIND ]-----------------------------------------
#
default:
		$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
			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 )
			WHERE f.forum_parent = '{$forum_id}'
			ORDER BY f.cat_id, f.forum_order";
		break;
#
#-----[ REPLACE WITH ]----------------------------------------
#
default:
		$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_id
			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_id = p.topic_id )
			WHERE f.forum_parent = '{$forum_id}'
			ORDER BY f.cat_id, f.forum_order";
		break;

#
#-----[ FIND ]-----------------------------------------
#
	if ( $subforum_data[$j]['forum_last_post_id'] )
			{
				$last_post_time = create_date($board_config['default_dateformat'], $subforum_data[$j]['post_time'], $board_config['board_timezone']);

				$last_post = $last_post_time . '<br />';

				$last_post .= ( $subforum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($subforum_data[$j]['post_username'] != '' ) ? $subforum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $subforum_data[$j]['user_id']) . '">' . $subforum_data[$j]['username'] . '</a> ';
								
				$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $subforum_data[$j]['forum_last_post_id']) . '#' . $subforum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
			}
#
#-----[ REPLACE WITH ]---------------------------------
#
	if ( $subforum_data[$j]['forum_last_post_id'] )
	{
		$topic_title = (strlen($subforum_data[$j]['topic_title']) < $max_topic_length) ? '' : $subforum_data[$j]['topic_title'];
    $subforum_data[$j]['topic_title'] = (strlen($subforum_data[$j]['topic_title']) > $max_topic_length) ? substr($subforum_data[$j]['topic_title'], 0, $max_topic_length) . '&hellip;' : $subforum_data[$j]['topic_title'];	

		$last_post_time = create_date($board_config['default_dateformat'], $subforum_data[$j]['post_time'], $board_config['board_timezone']);
		
		$last_post = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $subforum_data[$j]['forum_last_post_id']) . '#' . $subforum_data[$j]['forum_last_post_id'] . '" title="' . $topic_title . '">' . $subforum_data[$j]['topic_title'] . '</a><br/>';

		$last_post .= $last_post_time . '<br/>';

		$last_post .= ( $subforum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($subforum_data[$j]['post_username'] != '' ) ? $subforum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $subforum_data[$j]['user_id']) . '">' . $subforum_data[$j]['username'] . '</a> ';
			}

#
#-----[ SAVE/CLOSE ALL FILES ]----------------------------------
#
# EoM
Вложения
000.JPG

Аватара пользователя
Shock13666
phpBB 1.4.4
Сообщения: 176
Зарегистрирован: 19.11.2007 17:51
Откуда: Киев
Контактная информация:

Сообщение Shock13666 » 23.01.2008 16:12

Реально и нетяжело.

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

#
# --- [ Найти ] ----
#
$last_post = $last_post_time . '<br />';

#
# --- [ Заменить на ] ----
#
$last_post = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '">' . $last_post_time . '</a> </br>';


#
# --- [ Найти ] ----
#
$last_post .= '<a href="' 


#
# --- [ В строке, Найти ] ----
#
$last_post

#
# --- [ Заменить на ] ----
#
// $last_post

#
# EoM
#
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]

Pan
phpBB 1.4.2
Сообщения: 57
Зарегистрирован: 23.01.2008 13:00
Контактная информация:

Сообщение Pan » 23.01.2008 16:42

Shock13666 писал(а):Реально и нетяжело.
Спасибо, попробовал. Оказалось, не всё так просто - подозреваю, что виной тому модификация файла viewforum.php под simple subforums. Вся проблема в том, как сделать, чтобы описанное изменение коснулось в форумах только тем, но не затронуло подфорумы.

Добавляю свой файл viewforum.php - если есть возможность, посмотрите, плиз.

P.S. Дабы было понятнее - вот ссылкана форум.

Добавлено спустя 3 минуты 41 секунду:

Да, забыл. У меня в файле отсутствует

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

$last_post = $last_post_time . '<br />';
Вместо него есть только

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

$last_post .= $last_post_time . '<br />';
Соответственно, изменения выполнял с ним, что привело к превращению в нерабочую ссылку время темы в подфорумах и никак не отразилось на самих темах.
Вложения
viewforum.rar
(7.72 КБ) 292 скачивания

Аватара пользователя
Shock13666
phpBB 1.4.4
Сообщения: 176
Зарегистрирован: 19.11.2007 17:51
Откуда: Киев
Контактная информация:

Сообщение Shock13666 » 23.01.2008 17:31

Вообще, я не привык наугад работать. Моих знаний недостаточно для этого. Может, так:

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

#
# --- [ Найти ] ----
#
$last_post .= $last_post_time . '<br />';

#
# --- [ Заменить на ] ----
#
$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '">' . $last_post_time . '</a> </br>'; 
Добавлено спустя 3 минуты 11 секунд:

Стоп. Посмотрел. Так не получится. Ща подумаю

Давайте попробуем так:

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

#
# --- [ Найти ] ----
#
$last_post_url = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $topic_rowset[$i]['topic_last_post_id']) . '#' . $topic_rowset[$i]['topic_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" border="0" /></a>';

#
# --- [ Заменить на ] ----
#
$last_post_url = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $topic_rowset[$i]['topic_last_post_id']) . '#' . $topic_rowset[$i]['topic_last_post_id'] . '">';

#
# --- [ Найти ] ----
#
$last_post .= $last_post_time . '<br/>';

#
# --- [ Заменить на ] ----
# И вот тут надо экспериментировать

$last_post .= $last_post_url . $last_post_time . '</a><br/>';
В последнем надо по разному точки пробовать ставить.
Решение в общем не совмем правильно, но должно быть действенным.
Последний раз редактировалось Shock13666 23.01.2008 17:39, всего редактировалось 1 раз.
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]

Pan
phpBB 1.4.2
Сообщения: 57
Зарегистрирован: 23.01.2008 13:00
Контактная информация:

Сообщение Pan » 23.01.2008 17:33

Попробовал, та же петрушка. Отражается только на подфорумах, в отображении тем ничего не меняется.

Аватара пользователя
Shock13666
phpBB 1.4.4
Сообщения: 176
Зарегистрирован: 19.11.2007 17:51
Откуда: Киев
Контактная информация:

Сообщение Shock13666 » 23.01.2008 17:41

Подредактировал

Добавлено спустя 1 минуту 2 секунды:

Про темы понял. Щас еще с темами придумаем
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]

Pan
phpBB 1.4.2
Сообщения: 57
Зарегистрирован: 23.01.2008 13:00
Контактная информация:

Сообщение Pan » 23.01.2008 17:46

С темами - насколько я понимаю, нужно химичить в районе 718-ой строки. Любые изменения в районе 1029 (там, где $last_post .= $last_post_time . '<br/>'; ) неизбежно сказываются на подфорумах. А их-то хочется оставить так, как есть.

Аватара пользователя
Shock13666
phpBB 1.4.4
Сообщения: 176
Зарегистрирован: 19.11.2007 17:51
Откуда: Киев
Контактная информация:

Сообщение Shock13666 » 23.01.2008 17:53

Такой вариант (вообще кривой)
На забудь сделать Бек Ап!

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

#
# --- [ Найти ] ----
# Строка 646			
$newest_post_img = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&view=newest") . '"><img src="' . $images['icon_newest_reply'] . '" alt="' . $lang['View_newest_post'] . '" title="' . $lang['View_newest_post'] . '" border="0" /></a> ';

#
# --- [ Заменить на ] ----
# 
$newest_post_img = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&view=newest") . '">';

#
# --- [ Найти ] ----
# Строка 661 
$newest_post_img = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&view=newest") . '"><img src="' . $images['icon_newest_reply'] . '" alt="' . $lang['View_newest_post'] . '" title="' . $lang['View_newest_post'] . '" border="0" /></a> ';

#
# --- [ Заменить на ] ----
# 
$newest_post_img = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&view=newest") . '">';

# Догадался, что я делаю?
# --- [ Открыть ] ----
# 
viewforum.TPL

#
# --- [ Найти и удалить ] ----
#
{topicrow.NEWEST_POST_IMG}

#
# --- [ Найти ] ----
#
{topicrow.LAST_POST_TIME}

#
# --- [ Заменить на ] ----
#
{topicrow.NEWEST_POST_IMG}{topicrow.LAST_POST_TIME}</a>
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]

Pan
phpBB 1.4.2
Сообщения: 57
Зарегистрирован: 23.01.2008 13:00
Контактная информация:

Сообщение Pan » 23.01.2008 18:04

Пришлось поморочиться (чуть с ума не съехал, разыскивая у себя topicrow. - потом сообразил, что topics_sorted_by_type малину портит.) Сделал, итог - не работает :( Вообще никаких изменений не видно.

Аватара пользователя
Shock13666
phpBB 1.4.4
Сообщения: 176
Зарегистрирован: 19.11.2007 17:51
Откуда: Киев
Контактная информация:

Сообщение Shock13666 » 23.01.2008 18:11

Тогда жди гурру...
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]

Pan
phpBB 1.4.2
Сообщения: 57
Зарегистрирован: 23.01.2008 13:00
Контактная информация:

Сообщение Pan » 23.01.2008 18:12

Угу, придётся ждать. Спасибо за попытку помочь :)
Последний раз редактировалось Pan 23.01.2008 19:32, всего редактировалось 1 раз.

Аватара пользователя
Shock13666
phpBB 1.4.4
Сообщения: 176
Зарегистрирован: 19.11.2007 17:51
Откуда: Киев
Контактная информация:

Сообщение Shock13666 » 23.01.2008 18:17

Фсехда рад
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]

Закрыто

Вернуться в «Анонсы и поддержка модов для phpBB 2.0.x»