Warning: Undefined array key "HTTPS" in include() (line 29 of /opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php).
include('/opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php') (Line: 4)
require('/opt/www/fdv2/drupal.stage/web/sites/drupal001.net/settings.php') (Line: 145)
Drupal\Core\Site\Settings::initialize('/opt/www/fdv2/drupal.stage/web', 'sites/drupal001.net', Object) (Line: 1099)
Drupal\Core\DrupalKernel->initializeSettings(Object) (Line: 701)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
关注的用户有了新的动态,在用户头像上用红点提示 - Drupal大学 - Drupal问答论坛
首页 / 帖子
关注的用户有了新的动态,在用户头像上用红点提示

在做一个有社交功能的项目,已经用user relationships模块实现了用户之间的关注功能。用户有新的动态其实就是创建了一个新的node。我打算通过hook_node_insert给所有关注该用户的人发一条message,然后根据数据库里有没有新的message来决定要不要显示红点。但是这个方法太低效,如果用户的粉丝很多的话会产生大量数据,被否了。所以我想请问一下各位大神,有木有更高效一点的实现方式啊?

1个答案
发布于:2015-10-25 18:14

传统的就只能这个方法了,因为这样用户可以删除或者标记已读,其他方法就只能另辟蹊径了。
还有一个方法,就是只生成一条消息,然后用户已读未读用一个 flag 标记,这样如果用户未读也不产生多余的信息。
你可以参考 message 模块,应该可以实现你的功能,就是根据某一个事件,给用户生成一种消息。
参考: https://www.drupal.org/project/message