Тем и сообщений за сутки - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

Тем и сообщений за сутки

#1 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 806
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 03 Февраль 2017 - 21:08

Как в 3.1.4 можно вывести на главную количество тем и сообщений на форуме за сутки? В чётвёрке такое реализовано.
0

#2 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 630
  • Регистрация: 15-Октябрь 11
  • Репутация: 184
  • Откуда:Россия, Тула
  • IPB version:3.3.x
 

Отправлено 04 Февраль 2017 - 03:32

В /admin/applications/forums/modules_public/forums/boards.php, после:
			//-----------------------------------------
			// Update the most active count if needed
			//-----------------------------------------

Добавить:
			$count_per_day = array();
			$day = time() - 86400;
			$count_per_day = $this->DB->buildAndFetch( array( 'select' => 'COUNT(*) as posts_per_day, SUM(new_topic) as topics_per_day', 'from' => 'posts', 'where' => "post_date > {$day}" ) );
			$count_per_day += $this->DB->buildAndFetch( array( 'select'	=> 'COUNT(*) as joined_per_day', 'from' => 'members', 'where' => "joined > {$day}" ) );
			$stats_output['topics_per_day'] = $count_per_day['topics_per_day'] ? $count_per_day['topics_per_day'] : 0;
			$stats_output['replies_per_day'] = $count_per_day['posts_per_day'] - $stats_output['topics_per_day'];
			$stats_output['joined_per_day'] = $count_per_day['joined_per_day'];

В шаблоне "boardIndexTemplate" используйте для вывода количества ответов за сутки:
{$stats['info']['replies_per_day']}
тем за сутки:
{$stats['info']['topics_per_day']}
зарегистрировавшихся за сутки:
{$stats['info']['joined_per_day']}

2

#3 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 731
  • Регистрация: 27-Март 16
  • Репутация: 47
  • IPB version:3.4.x
 

Отправлено 04 Февраль 2017 - 10:17

Для вывода общего количества тем и сообщений за сутки в сумме, использовать формулу:

{parse expression="floor( $stats['info']['replies_per_day'] ) + floor( $stats['info']['topics_per_day'] )"}

0

#4 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 630
  • Регистрация: 15-Октябрь 11
  • Репутация: 184
  • Откуда:Россия, Тула
  • IPB version:3.3.x
 

Отправлено 04 Февраль 2017 - 12:30

Функция floor() используется для округления дроби, при сложении целых чисел немного избыточна.
Если нужно общее количество постов, проще добавить строчку к вышеприведенному коду, в boards.php:
			$stats_output['posts_per_day'] = $count_per_day['posts_per_day'];

1

#5 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 467
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 003
  • IPB version:I have no IPB
 

Отправлено 04 Февраль 2017 - 13:14

В таблице posts есть ключ new_topic, определяющий является ли пост стартовым или нет.
Можно объединить 2 запроса в 1.
$count_per_day = $this->DB->buildAndFetch( array( 'select' => 'count(*) as posts_per_day, SUM(new_topic) as topics_per_day', 'from' => 'posts', 'where' => "post_date > {$day}" ) );

2

#6 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 630
  • Регистрация: 15-Октябрь 11
  • Репутация: 184
  • Откуда:Россия, Тула
  • IPB version:3.3.x
 

Отправлено 04 Февраль 2017 - 13:38

Цитата

В таблице posts есть ключ new_topic, определяющий является ли пост стартовым или нет.
Поправил.
0

#7 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 806
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 04 Февраль 2017 - 15:44

Просмотреть сообщениеDmitriy427 сказал(а):

В /admin/applications/forums/modules_public/forums/boards.php, после:

Круто, работает как часы.

P.S. Забыл в шапке темы указать, что к темам и сообщениям, хотел ещё и кол-во зарегистрированных за сутки.
0

#8 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 806
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 04 Февраль 2017 - 19:34

Просмотреть сообщениеDmitriy427 сказал(а):

{$stats['info']['replies_per_day']}

Кстати выводиться кол-во сообщений со всех разделов, или только в тех в которых счётчик сообщений включён?
0

#9 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 630
  • Регистрация: 15-Октябрь 11
  • Репутация: 184
  • Откуда:Россия, Тула
  • IPB version:3.3.x
 

Отправлено 04 Февраль 2017 - 22:20

со всех естественно.
0

#10 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 630
  • Регистрация: 15-Октябрь 11
  • Репутация: 184
  • Откуда:Россия, Тула
  • IPB version:3.3.x
 

Отправлено 05 Февраль 2017 - 04:28

Цитата

Забыл в шапке темы указать, что к темам и сообщениям, хотел ещё и кол-во зарегистрированных за сутки.
Добавил.
1

#11 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 806
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 05 Февраль 2017 - 05:52

Просмотреть сообщениеDmitriy427 сказал(а):

Добавил.

Лишний запрос создаёт.
0

#12 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 630
  • Регистрация: 15-Октябрь 11
  • Репутация: 184
  • Откуда:Россия, Тула
  • IPB version:3.3.x
 

Отправлено 05 Февраль 2017 - 13:44

Если Вы специалист по работе с базами данных и уверены, что этот запрос лишний, то сделайте свой, который лишним не будет.
0

#13 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 806
  • Регистрация: 14-Июнь 09
  • Репутация: 19
  • IPB version:3.1.x
 

Отправлено 05 Февраль 2017 - 15:55

Просмотреть сообщениеDmitriy427 сказал(а):

Если Вы специалист по работе с базами данных и уверены, что этот запрос лишний, то сделайте свой, который лишним не будет.

Это я написал не с претензией, просто не весь текст добавил (сонный был уже). Хотел уточнить этот запрос не слишком существенный?
0

#14 Пользователь не на сайте   Dmitriy427 ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 630
  • Регистрация: 15-Октябрь 11
  • Репутация: 184
  • Откуда:Россия, Тула
  • IPB version:3.3.x
 

Отправлено 05 Февраль 2017 - 16:06

Не слишком.
1

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2017 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна