Страница 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 .= ' <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) . '…' : $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 .= ' <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) . '…' : $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 секунду:
Да, забыл. У меня в файле отсутствует
Вместо него есть только
Соответственно, изменения выполнял с ним, что привело к превращению в нерабочую ссылку время темы в подфорумах и никак не отразилось на самих темах.
Добавлено: 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
Фсехда рад