插入其他逻辑时,当用户登录时可能会查看 function user_logout() 在user.pages.inc中。此代码位于核心模块中,您不应该编辑它,但是可以很好地工作...例如,通过将以下代码添加到'user_logout()'函数...的顶部。

$last_run = variable_get('cron_last', 0);  
if(time() - $last_run > 86400) {  
    include_once './includes/bootstrap.inc';  
    drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);  
    drupal_cron_run();  
    drupal_flush_all_caches();  
    watchdog('user', 'cron set to run and cache to be cleared on user logout', array('%name' => $user->name));  
}

...如果Cron在过去的24小时中没有运行,我会清除缓存和Cron运行。好的,对于克朗而言并不理想,但这是另一个问题。

在哪里添加这个小片段的最佳地点?我可以简单地实现自己的注销菜单项...但是我不热衷于该解决方案。

提前致谢。

有帮助吗?

解决方案

您可以实现而不是修改核心 hook_user() 在自定义模块中。那么您可以检查 $op 参数查看是否等于“注销”。无论单击哪个菜单项或链接,无论何时注销以注销,该代码都会在用户注销时运行。


请注意,这是Drupal 6和7之间的不同 hook_user_logout().

其他提示

可能想检查一下 可怜的人克朗 模块。

许可以下: CC-BY-SA归因
scroll top