Saya ingin menambahkan bidang tambahan ke profil pengguna. Saya ingin pengguna dapat mengedit hampir semua informasi yang saya simpan di database tentang dia. Saya punya beberapa ide: mungkin itu mungkin dilakukan dengan menggunakan formulir api.
Saya ingin menambahkan bidang tambahan ke profil pengguna. Saya ingin pengguna dapat mengedit hampir semua informasi yang saya simpan di database tentang dia. Saya punya beberapa ide: mungkin itu mungkin dilakukan dengan menggunakan formulir api.
Jawaban:
Cara menambahkan bidang pengguna dengan kode sehingga Anda bisa memasukkan ini ke modul Anda.
Saya telah menemukan ini: field_create_field dengan di komentar cara untuk membuat bidang untuk pengguna Anda setelah mengaktifkan modul Anda:
/**
* 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);
}
}
'weight' => '1',
ke larik widget di $instance
Saya akan menambahkannya di jawaban saya.
/admin/config/people/accounts/fields
, kemudian gunakan Field Inspector on /admin/config/development/field-inspector
untuk mengekspor bidang dan array definisi bidang contoh untuk digunakan dalam kode seperti di atas.
function MYMODULE_uninstall() {field_delete_field('field_myField');}
Saya menemukan halaman itu sulit ditemukan, tetapi di / admin / config / people / accounts / bidang Anda dapat menambahkan bidang ke pengguna.
users
. "Fields" membuat bidang baru di luar tabel users
.
hook_form_alter(&$form, &$form_state, $form_id)
Profil di D7 agak aneh. The PROFILE2 modul dapat melakukan apa yang Anda butuhkan.
Di Drupal 7, gunakan proses ini untuk menambahkan bidang baru atau yang sudah ada dengan jenis bidang yang berbeda (seperti Gambar, bidang Tag dll.) Ke profil pengguna:
Pergi ke " Admin → Konfigurasi → Orang: Pengaturan akun " di menu admin, dan kemudian ke " Kelola bidang " (tab kedua).
(Atau, gunakan jalur langsung di URL:) /admin/config/people/accounts/fields
.
Jenis bidang apa yang ingin Anda tambahkan?