当用户更新配置中的任何字段时调用的 Drupal 7

Drupal 7 which hook is called when user updates any field in configuration

我是 Drupal 的新手,我正在寻找当用户更新配置区域中任何字段的值时调用的挂钩,以便我可以使用自定义模块在其他位置更新它。

当您更新现场用户时,您必须通过这种方式进行

$user->name= 'new-username';
user_save($user);

当您调用 user_save 函数时,您将调用下一个挂钩: https://api.drupal.org/api/drupal/modules%21user%21user.api.php/function/hook_user_update/7.x

hook_user_update

据我了解您的问题,您希望编写一个自定义模块,在提交表单时使用来自该特定表单的数据更改 CMS 中的其他数据。

为此,您可以在 .module 文件中使用 hook_form_FORM_ID_alter(参见 official Drupal API docs for details)来指定新的提交回调函数,如下所示:

function YOURCUSTOMMODULENAME_form_FORM_ID_alter(&$form, &$form_state, $form_id)
{
     $form['#submit'][] = 'my_callback_function';
}

function my_callback_function($form, &$form_state)
{
     //Whatever code you want to execute here to update other fields
}

上面的代码通过 ID 定位特定表单,但您可以使用更通用的 hook_form_alter 定位所有表单。有关这些表单挂钩触发的顺序以及它们各自需要的参数的更多详细信息,请参阅 API 文档。