【发布时间】:2010-06-07 15:30:49
【问题描述】:
每当用户更新他们的个人资料时,我都需要使用 Drupal 6 的“hook_user”来更新第 3 方 API。
因此我使用“更新”操作。我面临的问题是,如果第 3 方 API 更新失败,我无法看到如何停止执行。
即用户更新他们的用户名,但如果 API 失败,阻止 Drupal 更新本地记录。
function myhooks_user($op, &$edit, &$account, $category) {
switch ( $op )
{
case 'update':
if ( FALSE === updateAPI($data) )
{
drupal_set_message("Cannot update user information", "error", false);
return false;
}
break;
}
}
目前,return false 不会停止执行。
【问题讨论】:
-
如果你在 if 语句中添加一个 watchdog() 调用,它会进入那个语句吗?我不确定 hook_user 是否可以以这种方式使用。
-
是的,它正在进入函数 ok。