나는 현재 Drupal 사이트의 사용자 프로필 양식을 주제로 삼고 있습니다. 테마의 template.php 파일에서 hook_form_alter를 사용하고 있습니다.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