Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Во всех движках есть модуль Следующий и предыдущий топик, + полезно для перелинковки??? Кто подскажет как воплотить. Все спасибо за ответы
Offline
@alexkotov, как определяются предыдущая и следующая темы?
По номеру темы, по номеру темы этого форума, по последнему сообщению и как-то иначе.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
По номеру в котором находиться юзер??? Что-бы тематичность более менее соблюдалась
Offline
По номеру в котором находиться юзер???
Номер темы, которая открыта. Тогда берутся ближние по номерам темы, которые существуют.
Что-бы тематичность более менее соблюдалась
Аналогично первому, но темы берутся только из того же раздела.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Лучше перелинковку IMHO сделать так. Плагин ищет совпадения с названием другого топика, и если совпадает, то вставляет ссылку в эту тему.
Offline
@Luca, нагрузка на сервер будет бешеная.
Если делать просто предыдущая и следующая темы, то можно на странице две ссылки без расчетов помещать, которые ведут на отдельный файл, а файл уже ищет нужную тему.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Вот файл go.php
<?php
/**
* Copyright (C) 2011 Visman ([email protected])
* License: http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
*/
define('PUN_QUIET_VISIT', 1);
define('PUN_ROOT', dirname(__FILE__).'/');
require PUN_ROOT.'include/common.php';
if ($pun_user['g_read_board'] == '0')
message($lang_common['No view']);
$tid = isset($_GET['tid']) ? intval($_GET['tid']) : 0;
$go = isset($_GET['go']) ? $_GET['go'] : '';
if ($tid < 1 || ($go != 'next' && $go != 'prev'))
message($lang_common['Bad request']);
$result = $db->query('SELECT t.forum_id FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id='.$tid.' AND t.moved_to IS NULL') or error('Unable to fetch topic info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
message($lang_common['Bad request']);
$fid = $db->result($result);
if ($go == 'next')
{
$result = $db->query('SELECT t.id FROM '.$db->prefix.'topics AS t WHERE t.id>'.$tid.' AND t.forum_id='.$fid.' LIMIT 1') or error('Unable to fetch topic info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
$result = $db->query('SELECT t.id FROM '.$db->prefix.'topics AS t WHERE t.forum_id='.$fid.' LIMIT 1') or error('Unable to fetch topic info', __FILE__, __LINE__, $db->error());
}
else
{
$result = $db->query('SELECT t.id FROM '.$db->prefix.'topics AS t WHERE t.id<'.$tid.' AND t.forum_id='.$fid.' ORDER BY id DESC LIMIT 1') or error('Unable to fetch topic info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
$result = $db->query('SELECT t.id FROM '.$db->prefix.'topics AS t WHERE t.forum_id='.$fid.' ORDER BY id DESC LIMIT 1') or error('Unable to fetch topic info', __FILE__, __LINE__, $db->error());
}
$tid2 = $db->result($result);
header('Location: viewtopic.php?id='.$tid2);
exit;
Позволяет сделать перебор в пределах раздела.
На странице темы должно быть две ссылки.
Для предыдущей темы - go.php?tid=НОМЕР ТЕКУЩЕЙ ТЕМЫ&go=prev
Для следующей темы - go.php?tid=НОМЕР ТЕКУЩЕЙ ТЕМЫ&go=next
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Спасибо , а как сделать ссылки на следующую и предыдущую в viewtopic.php на go.pho <a href=??????, как настроить вывод спасибо
Offline
Вот так выводяться ссылки Всем спасибо огромное АДМИНУ РЕСПЕКТ
<a href="/go.php?tid=<?php echo $id;?>&go=next">Следующая </a>
<a href="/go.php?tid=<?php echo $id;?>&go=prev">Предыдущая</a>
Offline
Страницы 1