機能の一部として新しいユーザーアカウントを作成するDrupalモジュールを開発しています。
ただし、ユーザーの作成時に新しいユーザーのプロファイルに保存されるいくつかのフィールドを含めることができるようにしたいと思います。これはテキストフィールドには十分簡単ですが、より複雑なフィールド用にすでに構築されているロジックを複製したくありません。
Fields APIを使用してプロファイルフィールドをフォームに組み込む方法はありますか?
ありがとう、
ジェームズ
機能の一部として新しいユーザーアカウントを作成するDrupalモジュールを開発しています。
ただし、ユーザーの作成時に新しいユーザーのプロファイルに保存されるいくつかのフィールドを含めることができるようにしたいと思います。これはテキストフィールドには十分簡単ですが、より複雑なフィールド用にすでに構築されているロジックを複製したくありません。
Fields APIを使用してプロファイルフィールドをフォームに組み込む方法はありますか?
ありがとう、
ジェームズ
field_attach_form()
これには、およびfield_attach_submit()
関数を使用できます。
function MYMODULE_form($form, &$form_state, $account) {
$form['#account'] = $account;
field_attach_form('user', $account, $form, $form_state);
}
function MYMODULE_form_submit($form, &$form_state) {
field_attach_submit('user', $form['#account'], $form, $form_state);
}