Answers:
通过代码添加用户字段的一种方法,因此可以将其放入模块中。
我发现了这一点: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);
}
}
'weight' => '1',
到小部件数组中,然后$instance
将其添加到答案中。
/admin/config/people/accounts/fields
,然后使用现场检查员上/admin/config/development/field-inspector
导出的字段和字段实例定义阵列以用于代码像上面。
function MYMODULE_uninstall() {field_delete_field('field_myField');}
我发现该页面很难找到,但是在/ admin / config / people / accounts / fields中,您可以向用户添加字段。
users
。“字段”在表外创建新字段users
。
hook_form_alter(&$form, &$form_state, $form_id)
在Drupal 7中,使用以下过程向用户配置文件添加具有不同字段类型(例如Image,Tags字段等)的新字段或现有字段:
转到管理菜单中的“ 管理→配置→人员:帐户设置 ”,然后转到“ 管理字段 ”(第二个标签)。
(或者,使用URL中的直接路径:)/admin/config/people/accounts/fields
。