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

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

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

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

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

Вывести сообщений в день в темы

Как вывести количество сообщений в день в шаблон тем?

Вот есть такое в profileModern - {$member['_posts_day']} - вывод кол-ва сообщений в день в профиль пользователя.

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

Это общее количество сообщений пользователя поделенное на количество дней с момента регистрации. Вам что нужно?

  • Автор

Это общее количество сообщений пользователя поделенное на количество дней с момента регистрации. Вам что нужно?

Именно эти данные и нужны. И желательно что бы в тех разделах где отключён счётчик сообщений, такие сообщения не учитывались.

<if test="$post['author']['posts'] > 0">
   {parse expression="round( $post['author']['posts'] / ceil( ( time() - $post['author']['joined'] ) / 8600 ), 2 )"}
</if>

  • 2 недели спустя...
  • Автор

<if test="$post['author']['posts'] > 0">    {parse expression="round( $post['author']['posts'] / ceil( ( time() - $post['author']['joined'] ) / 8600 ), 2 )"}</if>

Понял что мне нужно немного не то.

 

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

Есть в профиле - $member['_posts_day']

<if test="$post['author']['posts'] > 0 AND $_posts_day = round( $post['author']['posts'] / ceil( ( time() - $post['author']['joined'] ) / 8600 ), 2 ) AND $_posts_day > 10">
   {$_posts_day}
</if>

  • Автор

@siv1987,

Конструкция рабочая, но что то не то выходит...

 

AND $_posts_day > 10 - Если ставить то ни у кого не показываеться. Только если выставить 0.

Вообще нужно кол-во сообщений юзера в день (сутки) не разделённое ни на что, в том числе и на дату регистрации.

Должно работать если конструкция рабочая. Если не работает значит условие не соответствует истине. Проверьте тогда каждое значения условия.

 

Общее количество сообщений за день это

общее количество сообщений пользователя поделенное на количество дней с момента регистрации.
Есть в профиле - $member['_posts_day']

Только в профиле. В других местах высчитываете по указанной выше формуле.

Количество сообщений за текущий день можно получить только по sql запросу.

  • Автор

Количество сообщений за текущий день можно получить только по sql запросу.

Преобразовать его в php-запрос возможно?

Php запрос, это что за зверь?

Из php нужно выполнить sql запрос чтобы получить количество сообщений пользователя за последний день.

 

SELECT count(*) FROM ibf_posts WHERE post_date >= UNXI_TIMESTAMP( NOW() - INTERVAL 1 DAY ) AND author_id = ид_пользователя

  • Автор

Из php нужно выполнить sql запрос чтобы получить количество сообщений пользователя за последний день.

Так как это реализовать в шаблоне темы?

А смысл что то расписывать если вы через пять минут удалите со словами "он грузит базу данных, пожалуй я не буду его использовать". Захотите, сами найдете способ всунуть, sql запрос я выше привел и на форуме обсуждалось как выполнить его в шаблоне.

  • Автор

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

Намёк понял :D

 

и на форуме обсуждалось как выполнить его в шаблоне

Вот это уже интересно. Никогда такое не реализовывал, можно на такое ссылочку?

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

Аккаунт

Навигация

Поиск

Поиск

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

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