我有一个超时模块,根据用户是否处于非活动状态来记录用户。问题是模块调用module_invoke_all('user_logout',$ user);另一个模块最终将用户注销,因为该模块实际显示正确的注销登陆页面。
如何让我的模块在另一个注销页面上显示消息?另外drupal_set_message也不起作用,因为用户将被注销,drupal_set_message的工作方式是你必须有适当的会话。
请让我知道你的想法
由于
答案 0 :(得分:0)
在hook_user_logout中,设置一个包含您要显示的消息的cookie
<?php
setcookie('my_message', t("Goodbye, have a nice evening!"), time() + (86400 * 30), "/");
?>
...然后在hook_init中,显示cookie中的内容并删除cookie
<?php
function MYMODULE_init() {
if(!empty($_COOKIE['my_message'])) {
drupal_set_message($_COOKIE['my_message']);
setcookie('my_message', '', time() - 3600);
}
}
?>