Câu trả lời:
Một cách để thêm các trường người dùng bằng mã để bạn có thể đặt trường này vào mô-đun của mình.
Tôi đã tìm thấy điều này: field_create_field với trong các nhận xét một cách để tạo trường cho người dùng của bạn khi bật mô-đun của bạn:
/**
* 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',
vào mảng widget $instance
trong câu trả lời của tôi.
/admin/config/people/accounts/fields
, sau đó sử dụng Dòng Inspector trên /admin/config/development/field-inspector
để xuất khẩu các mảng nét dụ lĩnh vực và lĩnh vực sử dụng trong mã như trên.
function MYMODULE_uninstall() {field_delete_field('field_myField');}
Tôi thấy trang này khó tìm, nhưng tại / admin / config / people / Tài khoản / trường bạn có thể thêm các trường cho người dùng.
users
. "Các trường" tạo các trường mới bên ngoài bảng users
.
hook_form_alter(&$form, &$form_state, $form_id)
Hồ sơ trong D7 là một chút lạ. Các mô-đun profile2 có thể làm những gì bạn cần.
Trong Drupal 7, sử dụng quy trình này để thêm trường mới hoặc trường hiện có với các loại trường khác nhau (chẳng hạn như trường Hình ảnh, thẻ, v.v.) vào hồ sơ người dùng:
Chuyển đến " Quản trị viên → Cấu hình → Mọi người: Cài đặt tài khoản " trong menu quản trị viên, sau đó đến " Quản lý các trường " (tab thứ hai).
(Hoặc, sử dụng đường dẫn trực tiếp trong URL /admin/config/people/accounts/fields
:).
Những loại lĩnh vực nào bạn muốn thêm?