Это возможно с 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