How to add new fields to user profile in Drupal 7 programmatically

爱⌒轻易说出口 提交于 2019-12-23 04:45:18

问题


I want to develop a module that add fields to user profile in drupal 7, like phone number and CV ... and I don't know how to do that (using Database or using fields API) pls help me.
Any clear tutorials will be appreciated.


回答1:


Try to follow the following code

    $myField_name = "NEW_FIELD_NAME";
    if(!field_info_field($myField_name)) // check if the field already exists.
    {
        $field = array(
            'field_name'    => $myField_name,
            'type'          => 'text',
        );
        field_create_field($field);

        $field_instance = array(
            'field_name'    => $myField_name,
            'entity_type'   => 'user', // change this to 'node' to add attach the field to a node
            'bundle'        => 'user', // if chosen 'node', type here the machine name of the content type. e.g. 'page'
            'label'         => t('Field Label'),
            'description'   => t(''),
            'widget'        => array(
                'type'      => 'text_textfield',
                'weight'    => 10,
            ),
            'formatter'     => array(
                'label'     => t('field formatter label'),
                'format'    => 'text_default'
            ),
            'settings'      => array(
            )
        );
        field_create_instance($field_instance);

Hope this works... Muhammad.




回答2:


You can use Profile2 module: http://drupal.org/project/profile2



来源:https://stackoverflow.com/questions/10579350/how-to-add-new-fields-to-user-profile-in-drupal-7-programmatically

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!