Мод позволяет перемещаться по страницам топика по нажатию Ctrl+стрелка. Может такое кто уже и писал, но я не видел. Поиск подобного на phpbbhacks.com ни к чему не привёл...
Код: Выделить всё
ОТКРЫТЬ viewtopic.php
НАЙТИ "generate_pagination("viewtopic.$phpEx?" . POST_TOPIC_URL"
ДОБАВИТЬ СО СЛЕДУЮЩЕЙ СТРОКИ:
//Arrows-Pagination MOD (c) 2006 by Daniel Podrabinek (danyagrohman@gmail.com)
if ($total_replies>$board_config['posts_per_page']) {
$mnstart = $start-$board_config['posts_per_page'];
$plstart = $start+$board_config['posts_per_page'];
$prlast = $total_replies-$board_config['posts_per_page'];
if ($start>'0') {
$view_prev_page = ("viewtopic.$phpEx?" .POST_TOPIC_URL . "=$topic_id&postdays=$post_days&postorder=$post_order&start=$mnstart");
$view_first_page = ("viewtopic.$phpEx?" .POST_TOPIC_URL . "=$topic_id&postdays=$post_days&postorder=$post_order&start=0");
$prev_page_href = ("<a href=$view_prev_page>(Ctrl<big>←</big>)</a>");
$first_page_href = ("<a href=$view_first_page>Первая(Ctrl<big>↑</big>)</a>");
}
if ($start<$total_replies-$board_config['posts_per_page']) {
$view_next_page = ("viewtopic.$phpEx?" .POST_TOPIC_URL . "=$topic_id&postdays=$post_days&postorder=$post_order&start=$plstart");
$view_last_page = ("viewtopic.$phpEx?" .POST_TOPIC_URL . "=$topic_id&postdays=$post_days&postorder=$post_order&start=$prlast");
$next_page_href = ("<a href=$view_next_page>(Ctrl<big>→</big>)</a>");
$last_page_href = ("<a href=$view_last_page>Последняя(Ctrl<big>↓</big>)</a>");
}
}
НАЙТИ:
'FORUM_ID' => $forum_id,
'FORUM_NAME' => $forum_name,
ПОСЛЕ ДОБАВИТЬ:
'VIEW_PREV_PAGE' => $view_prev_page,
'VIEW_FIRST_PAGE' => $view_first_page,
'VIEW_NEXT_PAGE' => $view_next_page,
'VIEW_LAST_PAGE' => $view_last_page,
'VIEW_PREV_PAGE_HREF' => $prev_page_href,
'VIEW_FIRST_PAGE_HREF' => $first_page_href,
'VIEW_NEXT_PAGE_HREF' => $next_page_href,
'VIEW_LAST_PAGE_HREF' => $last_page_href,
ОТКРЫТЬ viewtopic_body.tpl
В НАЧАЛО ДОБАВИТЬ:
<script language="JavaScript">
var left="{VIEW_PREV_PAGE}";
var up="{VIEW_FIRST_PAGE}";
var right="{VIEW_NEXT_PAGE}";
var down="{VIEW_LAST_PAGE}";
document.onkeydown=function(e){
var code;
if (!e) var e = window.event;
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
if((code == 37) && (e.ctrlKey == true)) location.href = left;
if((code == 38) && (e.ctrlKey == true)) location.href = up;
if((code == 39) && (e.ctrlKey == true)) location.href = right;
if((code == 40) && (e.ctrlKey == true)) location.href = down;
}
</script>
НАЙТИ:
<b>{PAGINATION}</b>
ЗАМЕНИТЬ НА:
<!--Arrows-Pagination MOD (c) 2006 by Daniel Podrabinek (danyagrohman AT gmail DOT com)-->
<b>{PAGINATION} {VIEW_PREV_PAGE_HREF} {VIEW_NEXT_PAGE_HREF}</b>
НАЙТИ:
<a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>
ПОСЛЕ ДОБАВИТЬ:
<td align=right><span class="gensmall"><b>{VIEW_FIRST_PAGE_HREF} {VIEW_LAST_PAGE_HREF}</b></span></td>
НАЙТИ:
<span class="nav">{PAGINATION}</span>
ЗАМЕНИТЬ НА:
<span class="nav">{VIEW_FIRST_PAGE_HREF} {VIEW_LAST_PAGE_HREF} {PAGINATION} {VIEW_PREV_PAGE_HREF} {VIEW_NEXT_PAGE_HREF}</span>
Добавлено спустя 4 часа 48 минут 54 секунды:
Для подобной работы на страницах форума нужно проделать всё тоже самое с файлами viewforum.php и viewforum_body.tpl. Разница только в том что вместо переменной $total_replies нужно использовать переменную $topics_count, а вместо $board_config['posts_per_page'] - $board_config['topics_per_page']. Ну и, конечно, вместо $topic_id&postdays=$post_days&postorder=$post_order&start= использовать строку для viewforum.php.
(В viewforum.php переменные надо объявлять перед $template->assign_vars(array(
'PAGINATION' =>)