题
插入其他逻辑时,当用户登录时可能会查看 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()
.
其他提示
可能想检查一下 可怜的人克朗 模块。
不隶属于 drupal.stackexchange