Как переопределить поля профиля пользователя по умолчанию в drupal 7 ising form API? - PullRequest
0 голосов
/ 11 августа 2011

Я хотел бы знать, как переопределить / изменить поля по умолчанию в профиле пользователя, такие как: кнопка Сохранить, имя, часовой пояс и т. Д. Я хочу изменить, удалить (потому что они мне не нужны)из них.Чтобы изменить профиль пользователя, я использую хук: hook_form_alter, с помощью которого мне удалось добавить свои собственные fieldds в профиль пользователя.Но теперь я хочу изменить поля по умолчанию.Как я могу это сделать?

1 Ответ

3 голосов
/ 14 августа 2011

Это возможно с hook_form_alter, хотя лучше использовать hook_form_FORM_ID_alter!

Чтобы изменить форму, вам нужно знать структуру массивов, самый простой способ узнать это - установить модуль Devel. Затем вы можете просмотреть структуру, поместив dpm($form); внутри вашей функции alter.

Вы можете использовать эту функцию в своем пользовательском модуле или в своей теме (в файле template.php).

Обычно профиль пользователя form_id равен user_profile_form. Простой пример:

    function mymodule_form_user_profile_form_alter(&$form,$form_state,$form_id){
      $form['timezone']['#access'] = FALSE; //remove the "timezone" field from the form (default value is still saved)
      $form['field_somefield']['#weight'] = -50; //move the field up
      $form['actions']['submit']['#value'] = t('Add this content now'); //change the submit button text
    }

Для хорошего урока смотрите урок Lullabot здесь (для drupal 6, но работает точно так же для d7!).

API: hook_form_FORM_ID_alter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...