Скрытие сообщений для зарегистрированных пользователей? - PullRequest
0 голосов
/ 31 января 2010

У нас в настоящее время есть опция сообщения на нашем сайте, которая отображает любое сообщение, которое мы добавляем через CMS для зарегистрированных пользователей, но как лучше всего предложить вариант «скрыть»? Таким образом, если конкретный пользователь не хочет снова видеть сообщение, он может его скрыть? Любые предложения приветствуются ...

Ответы [ 3 ]

3 голосов
/ 31 января 2010

Предполагая, что это уведомления / обновления, которые должны прочитать пользователи, попробуйте что-то вроде этого:

  • При входе в систему сообщите пользователю, что у него есть N новых сообщений для чтения.
  • Если пользователь заходит на страницу сообщений, чтобы прочитать эти сообщения, обновите дату с текущим временем в столбце last_read_date в своих метаданных пользователя.

Теперь, чтобы решить, какие сообщения показывать при данном входе в систему, просто проверьте столбец last_read_date с датой каждого сообщения. Если дата сообщения находится в будущем относительно last_read_date, они еще не видели это сообщение.

0 голосов
/ 31 января 2010

вы должны добавить таблицу в БД, которая будет связывать таблицу пользователей и таблицу сообщений

с полями:

ИД пользователя, сообщение, статус

теперь, когда вы вошли в систему, вы просто делаете

select * from messages where status='new' and userid='[userid_here]'

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

таким образом вы можете показывать только те сообщения, которые пользователь не прочитал.

0 голосов
/ 31 января 2010

Предполагая, что вы отображаете только одно сообщение за раз, вы можете добавить логический столбец в таблицу Users и установить его в значение true, когда пользователь нажимает скрыть, а затем проверить этот столбец перед отображением уведомления.

Затем, каждый раз, когда вы делаете новое уведомление, вы можете сбросить столбец на false для каждого пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...