Страница 13 из 15

Добавлено: 15.11.2007 11:21
Палыч

Добавлено: 25.11.2007 15:06
lermon
Здравствуйте.

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

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

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

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

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

главная
[фото пропало]

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

Добавлено: 25.12.2007 18:41
|{0N(T@NT1N
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="' .

Добавлено: 23.01.2008 14:27
Pan
Господа, есть следующий вопрос к специалистам. Путём плясок с бубном и шаманских перестановок в файле 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

Добавлено: 23.01.2008 16:12
Shock13666
Реально и нетяжело.

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

#
# --- [ Найти ] ----
#
$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
#

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

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

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

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

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

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

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

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

$last_post .= $last_post_time . '<br />';
Соответственно, изменения выполнял с ним, что привело к превращению в нерабочую ссылку время темы в подфорумах и никак не отразилось на самих темах.

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

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

#
# --- [ Найти ] ----
#
$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/>';
В последнем надо по разному точки пробовать ставить.
Решение в общем не совмем правильно, но должно быть действенным.

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

Добавлено: 23.01.2008 17:41
Shock13666
Подредактировал

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

Про темы понял. Щас еще с темами придумаем

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

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

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

#
# --- [ Найти ] ----
# Строка 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>

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

Добавлено: 23.01.2008 18:11
Shock13666
Тогда жди гурру...

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

Добавлено: 23.01.2008 18:17
Shock13666
Фсехда рад