Всегда переход к последнему непрочитанному сообщению Тема решена

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
matvey87
phpBB 1.0.0
Сообщения: 5
Стаж: 11 лет 3 месяца
Благодарил (а): 3 раза

Всегда переход к последнему непрочитанному сообщению

Сообщение matvey87 »

Добрый день. Пользовался поиском, FAQ, искал в сети, но так ни где и не нашел. : (
Хочу чтобы при нажатии на название темы пользователя всегда перебрасывало к последнему непрочитанному сообщению. В IPB такая функция заложена в базе. С мобильных устройств не очень удобно попадать по иконке, гораздо проще ткнуть сразу на название темы, а потом приходится идти на нужную страницу. А темы порой очень активны бывают.

Другими словами мне надо линк названия темы заменить на линк к последнему сообщению.
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 12 лет 4 месяца
Благодарил (а): 41 раз
Поблагодарили: 935 раз

Re: Всегда переход к последнему непрочитанному сообщению

Сообщение LavIgor »

Для phpBB 3.1 есть похожая тема.
Правки для 3.0 будут аналогичны: phpbb 3.1.3 Как сделать, чтобы пр открытии темы отображались последние сообщения.
Но в примере ссылка заменяется для результатов поиска.
В Вашем случае, как я понял, нужно заменить ссылки на самом форуме.

Если стиль prosilver:
Открыть styles\prosilver\template\viewforum_body.html.
Найти:

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

<a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a>
Заменить на:

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

<a href="<!-- IF topicrow.S_UNREAD_TOPIC -->{topicrow.U_NEWEST_POST}<!-- ELSE -->{topicrow.U_VIEW_TOPIC}<!-- ENDIF -->" class="topictitle">{topicrow.TOPIC_TITLE}</a>
Код привёл для чистой установки phpBB 3.0.14.
В данной реализации ссылки на темы будут обычными, если непрочитанных сообщений нет (можно, в принципе, сделать так, чтобы в этом случае они вели на последнее сообщение темы).
Если есть какие-либо вопросы, задавайте. ;)
matvey87
phpBB 1.0.0
Сообщения: 5
Стаж: 11 лет 3 месяца
Благодарил (а): 3 раза

Re: Всегда переход к последнему непрочитанному сообщению

Сообщение matvey87 »

Спасибо за помощь! А как сделать чтобы вели на последнее сообщение темы, если нет новых?
Просто тема на 80 сообщений. Логичнее попадать на последнее, если новых нет, и на первое не прочитанное если новые есть.
matvey87
phpBB 1.0.0
Сообщения: 5
Стаж: 11 лет 3 месяца
Благодарил (а): 3 раза

Re: Всегда переход к последнему непрочитанному сообщению

Сообщение matvey87 »

Сам разобрался )

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

<a href="<!-- IF topicrow.S_UNREAD_TOPIC -->{topicrow.U_NEWEST_POST}<!-- ELSE -->{topicrow.U_NEWEST_POST}<!-- ENDIF -->" class="topictitle">{topicrow.TOPIC_TITLE}</a>
верно?
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 12 лет 4 месяца
Благодарил (а): 41 раз
Поблагодарили: 935 раз

Re: Всегда переход к последнему непрочитанному сообщению

Сообщение LavIgor »

matvey87 писал(а):А как сделать чтобы вели на последнее сообщение темы, если нет новых?
Открыть styles\prosilver\template\viewforum_body.html.
Найти:

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

<a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a>
Заменить на:

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

<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">{topicrow.TOPIC_TITLE}</a>
Добавлено дополнительное условие для ботов (всё по аналогии с самим движком).

Отправлено спустя 1 минуту 41 секунду:
matvey87 писал(а): верно?
Нет. Чуть выше дал ответ. :)
matvey87
phpBB 1.0.0
Сообщения: 5
Стаж: 11 лет 3 месяца
Благодарил (а): 3 раза

Re: Всегда переход к последнему непрочитанному сообщению

Сообщение matvey87 »

Parse error: syntax error, unexpected T_ELSE in /home/fedotovpho/rrc-gt.ru/docs/forum/includes/template.php(230) : eval()'d code on line 136

Вот что вылазит
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 12 лет 4 месяца
Благодарил (а): 41 раз
Поблагодарили: 935 раз

Re: Всегда переход к последнему непрочитанному сообщению

Сообщение LavIgor »

matvey87 писал(а): unexpected T_ELSE
Попробуйте пробел стереть между ELSE и IF в моём предложенном коде (код исправил).
Похоже, что в старых версиях эта возможность не поддерживается.
matvey87
phpBB 1.0.0
Сообщения: 5
Стаж: 11 лет 3 месяца
Благодарил (а): 3 раза

Re: Всегда переход к последнему непрочитанному сообщению

Сообщение matvey87 »

Да, теперь всё работает! Спасибо!
Кстати мой код тоже, но тогда боты не будут индексировать старые сообщения? )
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 12 лет 4 месяца
Благодарил (а): 41 раз
Поблагодарили: 935 раз

Re: Всегда переход к последнему непрочитанному сообщению

Сообщение LavIgor »

matvey87 писал(а): Кстати мой код тоже, но тогда боты не будут индексировать старые сообщения?
Будут, но могут возникнуть проблемы с лишними ссылками (в U_NEWEST_POST формат ссылок другой).
Хороший тон - когда одна и та же страница индексируется только по одному адресу.

Вернуться в «Поддержка phpBB 3.0.х»