Trotor 27 02/03/17 18:09 Как в 3.1.4 можно вывести на главную количество тем и сообщений на форуме за сутки? В чётвёрке такое реализовано. Поделиться сообщением Ссылка на сообщение
Dmitriy427 198 02/04/17 00:33 В /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 Поделиться сообщением Ссылка на сообщение
Strategius 52 02/04/17 07:18 Для вывода общего количества тем и сообщений за сутки в сумме, использовать формулу: {parse expression="floor( $stats['info']['replies_per_day'] ) + floor( $stats['info']['topics_per_day'] )"} Поделиться сообщением Ссылка на сообщение
Dmitriy427 198 02/04/17 09:31 Функция floor() используется для округления дроби, при сложении целых чисел немного избыточна.Если нужно общее количество постов, проще добавить строчку к вышеприведенному коду, в boards.php: $stats_output['posts_per_day'] = $count_per_day['posts_per_day']; 1 Поделиться сообщением Ссылка на сообщение
newbie 1723 02/04/17 10:15 В таблице 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 Поделиться сообщением Ссылка на сообщение
Dmitriy427 198 02/04/17 10:39 В таблице posts есть ключ new_topic, определяющий является ли пост стартовым или нет.Поправил. Поделиться сообщением Ссылка на сообщение
Trotor 27 02/04/17 12:45 В /admin/applications/forums/modules_public/forums/boards.php, после:Круто, работает как часы. P.S. Забыл в шапке темы указать, что к темам и сообщениям, хотел ещё и кол-во зарегистрированных за сутки. Поделиться сообщением Ссылка на сообщение
Trotor 27 02/04/17 16:35 {$stats['info']['replies_per_day']}Кстати выводиться кол-во сообщений со всех разделов, или только в тех в которых счётчик сообщений включён? Поделиться сообщением Ссылка на сообщение
Dmitriy427 198 02/05/17 01:29 Забыл в шапке темы указать, что к темам и сообщениям, хотел ещё и кол-во зарегистрированных за сутки.Добавил. 1 Поделиться сообщением Ссылка на сообщение
Dmitriy427 198 02/05/17 10:45 Если Вы специалист по работе с базами данных и уверены, что этот запрос лишний, то сделайте свой, который лишним не будет. Поделиться сообщением Ссылка на сообщение
Trotor 27 02/05/17 12:56 Если Вы специалист по работе с базами данных и уверены, что этот запрос лишний, то сделайте свой, который лишним не будет.Это я написал не с претензией, просто не весь текст добавил (сонный был уже). Хотел уточнить этот запрос не слишком существенный? Поделиться сообщением Ссылка на сообщение