phpbb3 recent topics: выводим ссылку на последнее сообщение в теме

Полезные скрипты
Ответить
Аватара пользователя
mihas
Администратор
Сообщения: 1197
Зарегистрирован: 18 авг 2004, 16:58
Откуда: Москва
Контактная информация:

phpbb3 recent topics: выводим ссылку на последнее сообщение в теме

Сообщение mihas »

Немного переписал мод от Anvar © BB3.Mobi "Recent Topics for JS" v. 1.0.0. В этом прекрасном моде для размещения горячих ссылок форума на любых страницах сайта ссылки шли на последние темы в форуме, на которые есть ответ, но отнюдь не на последние сообщения в этой теме. Если тема существует давно, в ней много ответов - лучше сразу переходить по горячим ссылкам в конец темы к последнему посту, на мой взгляд, а не открывать горячую тему на самом старом первом посте.
В файле recent.php из каталога ext\bb3mobil\recent_topics\controller ищем:

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

'U_LAST_POST'	=> $viewtopic_url . '?p=' . $row['topic_last_post_id'] . '#' . $row['topic_last_post_id'],
и заменяем на:

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

'U_LAST_POST'	=> $viewtopic_url . '?f=' . $row['forum_id'] . '&t=' . $row['topic_id'] . '&p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id'],
Далее в файле recent_body.html из каталога ext\bb3mobil\recent_topics\styles\all\template ищем:

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

document.writeln('<li class="title"><a class="title" href="{topicrow.U_TOPIC}">{topicrow.TOPIC_TITLE}</a><!-- IF topicrow.TOPIC_REPLIES --> [<a class="title" href="{topicrow.U_LAST_POST}">{topicrow.TOPIC_REPLIES}</a>]<!-- ENDIF --></li>\n');
и заменяем на:

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

document.writeln('<li class="title"><a class="title" href="{topicrow.U_LAST_POST}">{topicrow.TOPIC_TITLE}</a></li>\n');

Я вывожу по 5 ссылок на заглавную страницу сайта, но мне понравилось и в самом форуме сделать раздел с горячими темами. Для этого, после установки мода "Recent Topics for JS" я просто чуть дописал overal_header.html. В нем в самом низу добавляем примерно такую запись:

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

<table class="tablebg" width="100%" cellspacing="1">
	<tr>
    <td align="center" class="row1" width="70px" style="text-indent: 0px; padding-left:4px;"><span class="topictitle" style="font-weight: bold;">Новые<br />ответы<br />в темах:</span></td>
		<td class="row2 forumlink" style="text-indent: 0px; padding-left:4px; font-size: 1.0em; font-weight:bold;">
        <script type="text/javascript" src="app.php/recent.php"></script>
        </td> </tr> </table> <br />

Пока не знаю, безотносительно теперь к моду recent topics, нужна ли ссылка на последнее непрочитанное сообщение в списке всех тем, для эксперимента в одном из стилей сделал так, чтобы была отдельная ссылка на последний непрочитанный пост.
Ищем в файле viewforum_body.html:

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

<a title="{L_POSTED}{L_COLON} {topicrow.FIRST_POST_TIME}" href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a>
и заменяем на примерно следующее:

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

<a title="{L_POSTED}{L_COLON} {topicrow.FIRST_POST_TIME}" href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a>&emsp;•&emsp;<a href="<!-- IF topicrow.S_UNREAD_TOPIC -->{topicrow.U_NEWEST_POST}<!-- ELSEIF not S_IS_BOT -->{topicrow.U_LAST_POST}<!-- ELSE -->{topicrow.U_VIEW_TOPIC}<!-- ENDIF -->" class="topictitle">last post</a>
Ответить

Вернуться в «PHP»