Я сейчас пытаюсь создать тему моего профиля пользователя Drupal. Я использую hook_form_alter в файле template.php темы.Drupal 7 - Тема формы профиля пользователя
Код такой же, как и код, который я использовал для редактирования другой формы, но по какой-то причине я не могу определить, что он не работает.
function THEME_NAME_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'user_profile_form') {
$form['current_pass']['#prefix'] = '<div class="loginFormBlock">';
$form['current_pass']['#suffix'] = '</div>';
$form['current_pass']['#size'] = '500';
//$form['actions']['submit'] = array('#type' => 'image_button', '#src' => base_path() . path_to_theme() . '/images/Login.png');
}
}
Теперь закомментирована кнопка отправки часть работает, когда она ООН прокомментировал но current_pass биты ничего не делают. Current_pass - это имя поля, которое я пытаюсь использовать для темы. THEME_NAME заменено именем темы.
ОТВЕТ:
Как предположил я заглянула в $ массиве формы.
echo '<pre>';
print_r($form);
echo '</pre>';
Выбрал, что current_pass был в массиве учетных записей, и изменил код на следующий, который работает нормально.
$form['account']['current_pass']['#size'] = '500';
Надеюсь, это может помочь кому-то еще.
current_pass - это существующее поле профиля? попробуйте отладить и создать дамп '$ form ['current_pass']' (перед тем, как его изменить), чтобы увидеть, что находится внутри – soju