Last Forum Topic On Index

Все моды, созданные нашим сообществом для phpBB 2.0.x, будут анонсированы тут. Вся техническая поддержка по этим модам оказывается в этом форуме.

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

Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Никогда не бойся делать то, что ты пока не умеешь. Помни, что Ковчег был построен любителем. Профессионалы строили Титаник...
Аватара пользователя
Палыч
Просто Палыч
 
Сообщения: 6003
Зарегистрирован: 24.05.2006 23:20
Откуда: Питер

Сообщение lermon 25.11.2007 16:06

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

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

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

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

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

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

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

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

как видите на главной неправильное название последней затронутой темы
lermon
phpBB 1.0.0
 
Сообщения: 9
Зарегистрирован: 03.11.2007 2:43

Сообщение |{0N(T@NT1N 25.12.2007 19: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&amp;" . 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&amp;" . 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="' .
Аватара пользователя
|{0N(T@NT1N
phpBB 1.4.3
 
Сообщения: 64
Зарегистрирован: 09.08.2007 17:52
Откуда: Украина

Сообщение Pan 23.01.2008 15: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&amp;" . 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&amp;" . POST_USERS_URL . '='  . $subforum_data[$j]['user_id']) . '">' . $subforum_data[$j]['username'] . '</a> ';
         }

#
#-----[ SAVE/CLOSE ALL FILES ]----------------------------------
#
# EoM
Вложения
000.JPG
Pan
phpBB 1.0.0
 
Сообщения: 9
Зарегистрирован: 23.01.2008 14:00

Сообщение Shock13666 23.01.2008 17: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 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]
Аватара пользователя
Shock13666
phpBB 2.0.6
 
Сообщения: 250
Зарегистрирован: 19.11.2007 18:51
Откуда: Киев

Сообщение Pan 23.01.2008 17: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 Кб) Скачиваний: 63
Pan
phpBB 1.0.0
 
Сообщения: 9
Зарегистрирован: 23.01.2008 14:00

Сообщение Shock13666 23.01.2008 18: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 18:39, всего редактировалось 1 раз.
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]
Аватара пользователя
Shock13666
phpBB 2.0.6
 
Сообщения: 250
Зарегистрирован: 19.11.2007 18:51
Откуда: Киев

Сообщение Pan 23.01.2008 18:33

Попробовал, та же петрушка. Отражается только на подфорумах, в отображении тем ничего не меняется.
Pan
phpBB 1.0.0
 
Сообщения: 9
Зарегистрирован: 23.01.2008 14:00

Сообщение Shock13666 23.01.2008 18:41

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

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

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

Сообщение Pan 23.01.2008 18:46

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

Сообщение Shock13666 23.01.2008 18:53

Такой вариант (вообще кривой)
На забудь сделать Бек Ап!
Код: Выделить всё
#
# --- [ Найти ] ----
# Строка 646         
$newest_post_img = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&amp;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&amp;view=newest") . '">';

#
# --- [ Найти ] ----
# Строка 661
$newest_post_img = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&amp;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&amp;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 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]
Аватара пользователя
Shock13666
phpBB 2.0.6
 
Сообщения: 250
Зарегистрирован: 19.11.2007 18:51
Откуда: Киев

Сообщение Pan 23.01.2008 19:04

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

Сообщение Shock13666 23.01.2008 19:11

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

Сообщение Pan 23.01.2008 19:12

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

Сообщение Shock13666 23.01.2008 19:17

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

Пред.След.

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0