每次新用户注册时,我都需要做一个休息请求。

休息请求返回一些我需要为Drupal用户帐户存储的数据,并能够作为内容显示。

什么是最好的/最清洁的方法?

有帮助吗?

解决方案

您可以简单地做到这一点 自定义模块, ,确保首先 了解Drupal钩系统 因为这是(几乎)所有Drupal的基础。

在您的模块中,您可以实施 hook_user_presave() 在保存用户帐户之前被调用。它将被要求进行创建和更新,因此您需要使用条件来检测新用户。其余通话后,有几个选项可以存储返回的数据。最简单的是用户帐户的数据属性。这是一个简单的PHP数组,将在数据库列中序列化。这不是很好的表演和明智的表演,并且不是很灵活(您可以查询存储的数据),但很容易。

function MODULE_user_presave(&$edit, $account, $category) {
  // Accoding to user_save's documentation, this is a new user if
  // $account->is_new is set to TRUE or if $account->uid is not set
  if ($category == 'account' && (!empty($account->is_new) || !isset($account->uid)))) {
    $edit['data']['MODULE'] = MODULE_get_data_from_rest($account);
  }
}

其他提示

Drupal 7中的核心功能可用,如果创建用户等,可以触发特定操作。您无需代码即可实现:

  • 启用模块 触发器
  • 配置 >> 动作 并在下拉列表中创建一个可用的操作
  • 结构 >> 触发器, ,单击 用户 标签并将您创建的动作分配给 触发器:创建新的用户帐户后

规则 或者 工作流程 模块可能是您想要的。

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