在drupal中设置一条消息

时间:2010-12-21 17:01:32

标签: drupal

我需要在Drupal中做两件事之一

  1. 能够将信息消息设置为特定用户,以便下次登录时查看。此消息将显示在标准的$ messages变量中。我看看drupal_set_message()是否有能力,但没有找到它
  2. 每次加载页面时运行一个函数,然后查找一些信息,然后导致drupal_set_message被发送
  3. 如果有人有建议,我更喜欢第二种选择。

3 个答案:

答案 0 :(得分:3)

我会将代码放在hook_init()中。大多数Drupal已经加载,并且可以在每个页面加载时使用。

在其中,您可以从数据库中查询消息列表,并将它们汇集到drupal_set_message()中。 $ messages变量存储在会话中,因此您需要在实际显示消息时调用drupal_set_message()。

存储呈现消息的需要是一个不同的挑战,取决于您如何确定需要设置的消息。如果它仅基于已用时间,您可以跳过自定义编码并直接进入规则 - 根据用户登录日期定义触发器和操作。

如果它是一个更动态的消息传递方案,您需要通知用户他们缺席时发生的事件,您可以使用基于Message模块的写代码或类似的东西,这将允许您将消息记录到数据库,然后查询自用户上次登录以来的任何日期。事实上,我喜欢这个想法,需要进一步思考......

更具体的问题有助于推荐更有针对性的解决方案。

答案 1 :(得分:1)

基本上页面是drupal中的节点,你应该实现hook_nodeapi。对于用户连接,请使用hook_user(使用登录操作)。

答案 2 :(得分:1)

每次加载页面时,您都可以使用hook_boot来运行函数。