Перейти к контенту
  • 0

Отметка новых сообщений


LazyBloke

Вопрос

Суть в том, что нужно сделать возможность отличать новые сообщения с момента последнего просмотра темы, от старых сообщений.

Над каждым сообщением существуют иконки to_post_off.gif to_post_off.gif

Проблема в том, что такая иконка отображается для всех сообщений форума и прочитанных и непрочитанных.

 

Существует другой значок: to_post.gif to_post.gif

Но проблема в том, что с стандартном режиме просмотра форума (не в древовидном и каком-либо другом) этот значок не отображается и вообще в шаблонах в RenderRow прописано всегда отображать to_post_off.gif.

 

Поиском нашёл вот эту старенькую тему для старой версии форума: http://forums.ibresource.ru/index.php?showtopic=8833

 

Испробовал предложенный там способ. В topics.php нашел:

$row['edit_button']   = $this->edit_button($row['pid'], $poster, $row['post_date']);

После добавил:

$row['new_post'] = "<img src='style_images/<#IMG_DIR#>/to_post_off.gif' alt='post' border='0' style='padding-bottom:2px' />";

			if ( $row['post_date'] > $this->last_read_tid )
			{
					$row['new_post'] = "<img src='style_images/<#IMG_DIR#>/to_post.gif' alt='post' border='0' style='padding-bottom:2px' />";
			}

А так же в скинах в Topic View \ RenderRow нашел:

<img src='{ipb.vars['img_url']}/to_post_off.gif' alt='post' border='0' style='padding-bottom:2px' />

И заменил на:

{$post['new_post']}

 

Вроде бы оно даже заработало, но немного не так как я хотел. Существует проблема. Если новое сообщение появилось, предположим на 15 странице темы и мы откроем сразу 15-ю страницу темы, то мы увидим новые сообщения (отмечаются значком как положено).

А вот если мы сначала перейдём на 14 страницу темы (где нет новых сообщений), а затем перейдём на 15-ю страницу (где есть новые сообщения), то новые сообщения на 15 странице будут отмечены как уже прочитанные.

 

Пожалуйста, помогите разобраться, как отладить эту функцию. Версия форума 2.3.4.

Ссылка на комментарий
Поделиться на других сайтах

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

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.