На странице «Новые сообщения» отображаются заголовки тем, содержащих новые сообщения. А мне нужно, чтобы отображались не только заголовки, но и сами тексты сообщений — последнего из каждой темы. В принципе отображение сообщений включается легко — добавлением параметра &sr=posts к ссылке search.php?search_id=newposts. Пример. Такая ссылка выводит все новые сообщения, считая с момента последнего визита юзера.
Вопрос: как сделать, чтобы отображались не все новые сообщения, а только одно самое последнее сообщение для каждой темы?
Страница «Новые сообщения» с текстами сообщений
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Nekstati
- Поддержка

- Сообщения: 3365
- Стаж: 17 лет 6 месяцев
- Благодарил (а): 37 раз
- Поблагодарили: 1454 раза
А вот и ответ.
Открыть search.php
Найти около строки 347
Заменить на
Найти около строки 356
Заменить на
Открыть search.php
Найти около строки 347
Код: Выделить всё
$show_results = (request_var('sr', 'topics') == 'posts') ? 'posts' : 'topics';Заменить на
Код: Выделить всё
$show_results = 'posts';Код: Выделить всё
if ($show_results == 'posts')
{
$sql = 'SELECT p.post_id
FROM ' . POSTS_TABLE . ' p
WHERE p.post_time > ' . $user->data['user_lastvisit'] . "
$m_approve_fid_sql
" . ((sizeof($ex_fid_ary)) ? ' AND ' . $db->sql_in_set('p.forum_id', $ex_fid_ary, true) : '') . "
$sql_sort";
$field = 'post_id';
}Код: Выделить всё
if ($show_results == 'posts')
{
$sql = 'SELECT p.post_id
FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t
WHERE p.post_time > ' . $user->data['user_lastvisit'] . '
AND p.post_id = t.topic_last_post_id
' . $m_approve_fid_sql . '
' . ((sizeof($ex_fid_ary)) ? ' AND ' . $db->sql_in_set('p.forum_id', $ex_fid_ary, true) : '') . "
$sql_sort";
$field = 'post_id';
}
