Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

(SIV34) Unread posts separator

Рекомендованные сообщения

Опубликовано:
  • Автор

1.0.1

* исправлена ошибка с разделением первых сообщений на странице

  • 2 месяца спустя...
Опубликовано:

Нашел баг - при создании новой темы разделитель отображается сверху самого первого поста темы. Причем, не везде, что странно, а только в некоторых разделах, зависимость не могу найти.

Изменено пользователем Strategius

Опубликовано:

При отключении PinPosts баг пропадает. В чем проблема там кроется?

Опубликовано:

Странно, где может быть конфликт в хуках?... Разделитель появляется сверху первого поста в ново-созданной теме, но только при включенном хуке Pinposts. Не подскажете как это пофиксить, пожалуйста? Неприятный баг.

Опубликовано:
  • Автор

post_count в pinPosts получает не порядковой номер сообщения в теме а его ид, поэтому в хуке первое сообщение в теме может определиться некорректно.

Опубликовано:
post_count в pinPosts получает не порядковой номер сообщения в теме а его ид

А как бы это исправить? Нашел кстати очень старую версию хука для 3.1.4, там логика другая - закрепленному сообщению присваивается наименьший порядковый номер в зависимости от страницы, на которой находится сообщение, т.е.

 

$index++;
$post_data[$id]['post']['post_count'] = $index;

Не подскажете, как такое же реализовать в версии для 3.4?

 

Вот та версия для 3.1.4 -

Опубликовано:
  • Автор

Вот та версия для 3.1.4

Это платное приложение.

Опубликовано:
Это платное приложение.

Это первая версия хука еще от другого автора, он ее выложил в свободном доступе 26.11.2009, на оф. ресурсе: http://lastdragon.ru/projects/ipb3-pinposts

 

Поковырял функцию присвоения ID, не получается... При целиковой замене блока post_count, первому закрепленному сообщению присваивается фиксированный ID 1, и если закрепить другое сообщение, будет два ID 1. Как это адаптировать для 3.4, не подскажите, пожалуйста?

Опубликовано:

Подскажите, а может решением проблемы бага с хуком (SIV34) Unread Posts Separator отсюда будет получение ID первого сообщения Sql запросом? Или это будет слишком нагружать сервер, если тема будет скажем на 300 страниц?

Опубликовано:
  • Автор

Не будет, тем более если вы не можете исправить логику в хуке для исключения этого поста, с sql запросом вы точно ничего не сделаете. Эти хуки не совместимы.

Опубликовано:
Эти хуки не совместимы

:( А переделка логики для исключения поста сделает хуки совместимыми, ведь там проблема только в этом?

Опубликовано:
  • Автор

А переделка логики для исключения поста сделает хуки совместимыми, ведь там проблема только в этом?

Да, только в этом. Вижу для вас это не будет проблемой.

Опубликовано:
Вижу для вас это не будет проблемой

Это самая большая проблема, которая передо мной сейчас стоит..) Если Вам не сложно, не могли бы указать на проблемное место в хуке, где нужно копать? Насколько понял, не обязательно заморачиваться с запросом для post_count?

Опубликовано:
  • Автор

					if( $topic['lastMarked'] <= $post['post']['post']['post_date'] )
					{

Пропустить сообщение если это закрепленное сообщение в теме.

Опубликовано:
если это закрепленное сообщение в теме

А для этого подойдет это условие?

 

<if test="pinned:|:$post['post']['_isPinned']"></if>

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.