Переопределение формы редактирования профиля пользователя - PullRequest
1 голос
/ 09 августа 2010

Я использую theme_user_profile_form($form) и вставляю в строку

unset ($form['timezone']);

Но это не удаляет этот элемент со страницы

Я пытаюсь:

theme_preprocess_user_profile_form

ноон не работает.

Все, что я хочу сделать, - это удалить некоторые части формы редактирования профиля пользователя, такие как выбор темы, часовой пояс и т. д.

Ответы [ 2 ]

2 голосов
/ 09 августа 2010

Самый простой способ сделать это - использовать hook_form_alter. Это должно быть в пользовательском модуле, а не в вашей теме.

1 голос
/ 11 сентября 2012

Лучше всего то, что вы должны сделать этот хук формы alter, но сделать unset в после сборки формы, т.е.

function example_form_alter(&$form, &$form_state, $form_id) {
   $form["#after_build"][] = "example";
}

function example($form, &$form_state) {`
    //dpm($form); /*devel module dependency for looking for the correct object*/
    //unset
    return $form;
}
...