web-dev-qa-db-ja.com

ユーザープロファイルにフィールドを追加する方法は?

ユーザープロファイルにフィールドを追加したいのですが。データベースに保存されている彼に関するほとんどすべての情報をユーザーが編集できるようにしたい。私はいくつかのアイデアを持っています:おそらくフォームAPIを使用して行うことが可能です。

22
Alexey

これをモジュールに配置できるように、コードによってユーザーフィールドを追加する方法。

私はこれを見つけました: field_create_field コメントにモジュールを有効にしたときにユーザー用のフィールドを作成する方法を含めます:

/**
 * Implementation of hook_enable().
 */
function MYMODULE_enable() {
  // Check if our field is not already created.
  if (!field_info_field('field_myField')) {
    $field = array(
        'field_name' => 'field_myField', 
        'type' => 'text', 
    );
    field_create_field($field);

    // Create the instance on the bundle.
    $instance = array(
        'field_name' => 'field_myField', 
        'entity_type' => 'user', 
        'label' => 'My Field Name', 
        'bundle' => 'user', 
        // If you don't set the "required" property then the field wont be required by default.
        'required' => TRUE,
        'settings' => array(
           // Here you inform either or not you want this field showing up on the registration form.
            'user_register_form' => 1,
        ),
        'widget' => array(
            'type' => 'textfield',
            'weight' => '1',
        ), 
    );
    field_create_instance($instance);
  }
}
23
FLY

ページを見つけるのは難しいですが、/ admin/config/people/accounts/fieldsでユーザーにフィールドを追加できます。

36
Attiks

D7のプロファイルは少し奇妙です。 profile2 モジュールはあなたが必要とすることをするかもしれません。

5
Jeremy French

Drupal 7で、このプロセスを使用して、異なるフィールドタイプ(イメージ、タグフィールドなど)を持つ新規または既存のフィールドをユーザープロファイルに追加します。

  1. フィールドUIモジュールを有効にします。
  2. 管理メニューの「管理→構成→人:アカウント設定」に移動し、「フィールドの管理」(2番目のタブ)に移動します。

    (または、URLで直接パスを使用します:/admin/config/people/accounts/fields)。

  3. フォームの下部にある[新しいフィールドを追加]または[既存のフィールドを追加]の行に入力して、[保存]をクリックします。
4
Chanuka Asanka

どの種類のフィールドを追加しますか?

  • これがソーシャルネットワーキングサイトであり、プライバシー設定フィールドを追加する場合は、 ユーザーごとのプライバシー モジュールを使用します。
  • タブやアコーディオンフィールドを追加する場合は、field_groupモジュールを使用して、ユーザーアカウントフィールドに新しいグループを追加します(URL:/ admin/config/people/accounts/fields)。
  • また、役割ごとに異なるフィールドが必要な場合は、 profile2 モジュールを使用します。
1
Druvision