【问题标题】:CNN Style 'Alert' in Drupal?Drupal 中的 CNN 风格“警报”?
【发布时间】:2010-07-07 18:31:33
【问题描述】:

我相信你们中的大多数人都看过 CNN 类型的警报,当管理员想要时,它们会在屏幕顶部闪烁。这已经在 Drupal 中完成了吗?

我认为你需要某种 jQuery 来制作动画,很简单,但是你需要什么机制来允许用户 X 离开警报,而不是再次显示它?

【问题讨论】:

  • 您是否在考虑类似 drupal_set_message() 的内容,但针对所有登录用户?还是异步工作的东西?
  • drupal_set_message 可以工作,但它需要向访问该站点的每个人展示自己,直到他们点击 X。
  • 消息是否需要由具有管理角色的用户设置,或者可以是任何用户设置的消息?
  • 管理员想要向访问网站的任何人展示重要内容时设置的内容。

标签: jquery drupal drupal-6


【解决方案1】:

如果消息仅由管理员用户设置,那么您可以关注Admin message,其描述如下:

提供一种向用户显示短消息的简单方法。这些消息可以由登录的用户单独关闭。示例可能是“欢迎访问此站点...”、“临时停机...”、“重要安全公告...”、“新功能...”等。

默认情况下,在用户注册之前创建的消息不会显示给该用户,可以通过“始终显示此消息”选项覆盖某些内容。此外,每个消息都可以使用 PHP 可见性选项,类似于用于块的显示选项。例如,这可用于仅向特定角色的用户显示消息、在用户未填写个人资料字段时显示消息等。

【讨论】:

  • 嗯,我得试试这个。
  • 这似乎只适用于身份验证用户。它还需要为匿名用户工作。我看到这种情况发生的唯一方法是使用包含节点 ID、用户 ID、会话 ID 和关闭状态的关系表,这样您就可以跟踪哪些用户看到了哪些消息以及他们是否关闭了消息。
  • 据我所知,Drupal 不为匿名用户处理会话。
  • 我看到了。我使用 session_id() php 函数来跟踪匿名身份。完成后会回馈,效果很好。
  • 有些模块是处理匿名用户的;例如,Fivestar (drupal.org/project/fivestar) 允许匿名用户投票。看看该模块如何处理匿名用户以及它是否使用特定代码可能会很有趣。
【解决方案2】:

另一种选择是设置custom region in your theme,然后在您希望它们显示时将块等移动到该主题中。
Context 与此配合得很好。

【讨论】:

  • 不知道为什么这被否决了,但不是我。不过听起来不够动态,我不确定。
  • 使用 jquery,您可以轻松地以任何人想要的方式隐藏块。有时人们只是不想自己思考。
【解决方案3】:

我无法回答 drupal 的具体细节,但在大多数情况下,使用 cookie 可以达到类似的效果。如果您想在 jQuery 中处理 cookie,最简单的解决方案是 plugin

希望能有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多