Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Trotor

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

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

Подскажите как реализовать что бы на главной в блоке именинников отображались лишь те пользователи, у которых скажем на форуме больше 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']] ] );
					}
				}
			}

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

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

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

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

×
×
  • Создать...