Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

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

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Отображения именинников на главной в зависимости от их сообщений

Подскажите как реализовать что бы на главной в блоке именинников отображались лишь те пользователи, у которых скажем на форуме больше 10 сообщений?

А то этот блок забивается пользователями у которых 0 сообщений на форуме.

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

Это какой-то хук?

  • Автор

Это какой-то хук?

Нет, стандартная функция. Вот - post-31497-0-72598100-1546449244_thumb.jpg

Что бы в этом списке отображались пользователи у которых больше 10 сообщений на форуме.

Данные именинников кешируются, а количество постов это переменное значение что не очень совместимо с кешом. Тут либо делать дополнительный sql запрос, либо кешировать количество сообщений - но это значение может потерять актуальность до следующего обновление кеша.

  • Автор

Тут либо делать дополнительный sql запрос

Был бы признателен вам за его составление. Так как блок именинников видят только зарегистрированые, то особой нагрузки на форум это не даст.

  • Автор

Данные именинников кешируются, а количество постов это переменное значение что не очень совместимо с кешом. Тут либо делать дополнительный sql запрос, либо кешировать количество сообщений - но там это значение может потерять актуальность до следующего обновление кеша.

 

Не подскажите этот запросик?

Тут не только запросик нужен, но и немного его закодить.

 

Открыть admin\applications\forums\modules_public\forums\boards.php

 

Найти

 

			foreach ( $users as $user )

Выше добавить

 

				if( count( $users ) )
			{
				$mid = array();
				foreach( $users as $k => $u )
				{
					$mid[ $u['member_id'] ] = $k;
				}

				$this->DB->build( array( 'select' => 'member_id, posts', 'from' => 'members', 'where' => 'member_id IN('.implode( ',', array_keys( $mid ) ).')' ) );
				$this->DB->execute();

				while( $row = $this->DB->fetch() )
				{
					if( $row['posts'] == 0 )
					{
						unset( $users[ $mid[$row['member_id']] ] );
					}
				}
			}

  • Автор

Тут не только запросик нужен, но и немного его закодить.

Спасибо, то что надо!

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.