Как добавить дополнительные поля в профиль пользователя?

Я хотел бы добавить дополнительные поля в профиль пользователя. Я бы хотел, чтобы пользователь мог редактировать почти всю информацию, хранящуюся в базе данных о нем. У меня есть некоторые идеи: возможно, это можно сделать с помощью формы api.

20 голосов | спросил alexey 1 PM00000060000000231 2011, 18:33:02

5 ответов


21

Способ добавления полей пользователя по коду, чтобы вы могли поместить его в свой модуль.

Я нашел это: 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);
  }
}
ответил FLY 2 Maypm12 2012, 18:32:49
34

Я нашел страницу трудно найти, но в /admin /config /people /accounts /fields вы можете добавлять поля пользователям.

ответил Attiks 1 PM000000110000000331 2011, 23:12:03
5

Профиль в D7 немного странный. Модуль profile2 может делать то, что вам нужно.

ответил Jeremy French 1 PM00000080000005631 2011, 20:25:56
4

В Drupal 7 этот процесс используется для добавления в профиль пользователя нового или существующего поля с разными типами полей (например, с изображением, тегами и т. д.):

  1. Включить модуль Field UI .
  2. Перейдите в « Администратор â † 'Конфигурация â †« Люди: настройки учетной записи »в меню администратора, а затем« Управление полями »(вторая вкладка) .

    (В качестве альтернативы используйте прямой путь в URL-адресе: /admin/config/people/accounts/fields).

  3. Заполните строку «Добавить новое поле» или «Добавить существующее поле» в нижней части формы и нажмите «Сохранить».
ответил Chanuka Asanka 12 +04002013-10-12T09:45:18+04:00312013bEurope/MoscowSat, 12 Oct 2013 09:45:18 +0400 2013, 09:45:18
1

Какие поля вы хотите добавить?

  • Если это сайт социальной сети, и вы добавляете поля настроек конфиденциальности, используйте Конфиденциальность для пользователя .
  • Если вы хотите добавить вкладки или аккордеонные поля, используйте модуль field_group для добавления новых групп в поля учетной записи пользователя (URL: /admin /config /people /accounts /fields).
  • Если вам нужны разные поля для разных ролей, используйте модуль profile2 .
ответил Druvision 20 +04002013-10-20T03:44:04+04:00312013bEurope/MoscowSun, 20 Oct 2013 03:44:04 +0400 2013, 03:44:04

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132