Skip to content
View in the app

A better way to browse. Learn more.

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

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

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

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

Featured Replies

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

  • Author

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

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

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

  • 2 weeks later...
  • Author

<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>

  • Author

@siv1987,

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

 

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

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

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

 

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

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

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

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

  • Author

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

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

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

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

 

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

  • Author

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

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

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

  • Author

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

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

 

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

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

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.