사용자 프로필 편집 페이지로 사용자 정의하고 싶습니다. 편집 경로는 다음과 같습니다 XXX/사용자/2/편집 나의 templage 파일에서 1. 내 사용자 프로파일 form.tpl.php 파일drupal 7 사용자 프로필 템플릿이 변경 사항을 저장할 수 없습니다.
function MYTHEME_theme() {
'user_profile_form' => array(
'arguments' => array('form' => NULL),
'render element' => 'form',
'template' => 'user-profile-form',
'path' => drupal_get_path('theme', 'bootstrap_subtheme').'/templates',
),
}
function MYTHEME_preprocess_user_profile_form(&$vars) {
drupal_set_title('Account settings');
unset($vars['form']['account']['mail']['#description']);
$vars['form']['account']['mail']['#title'] = t('Email:');
unset($vars['form']['picture']['#title']);
unset($vars['form']['picture']['picture_delete']);
$vars['form']['picture']['picture_upload']['#title'] = t('Upload new photo:');
$vars['form']['picture']['picture_upload']['#attributes']['class'][] = 'form-text';
unset($vars['form']['picture']['picture_upload']['#description']);
unset($vars['form']['account']['current_pass']['#description']);
unset($vars['form']['account']['pass']['#description']);
unset($vars['form']['account']['pass2']['#description']);
unset($vars['form']['field_birthday']['und']['#prefix']);
unset($vars['form']['field_birthday']['und']['#suffix']);
unset($vars['form']['field_birthday']['und']['#title']);
$vars['form']['account']['pass']['pass1']['#title'] = t('New password:');
$vars['form']['account']['pass']['pass2']['#title'] = t('Re-enter new password:');
$vars['form']['actions']['submit']['#value'] = t('Save changes');
$vars['form']['actions']['submit']['#attributes']['class'][] = 'btn';
$vars['form']['actions']['submit']['#attributes']['class'][] = 'btn-purple';
$vars['form']['account']['mail']['#size']=20;
}
:
<div class="row-fluid">
<div class="span1 offset2">Gender:</div>
<div class="span4 offset1"><?php print render($form['field_gender']);?></div>
</div>
<div class="row-fluid">
<div class="span1 offset2">Password:</div>
<div class="span4 offset1"><?php print render($form['account']['pass']);?></div>
</div>
<?php print render($form['actions']);?>
이제 양식 예상대로 보이지만 암호를 변경할 때 오류는 없지만 새 암호로는 로그인 할 수 없습니다. 나는 그것을 다시 시험해 보았다. 그것은 오직 관리자 만이 그것을 바꿀 수있는 것처럼 보이고, 인증 사용자는 자신의 암호를 변경할 수 없다.
감사 :
양식 유효성 검사 :
양식 .. 제거 버전을 제출이 몇 가지 여분이 예에서 처리되지 않는 필드가 포함되어 있습니다. 그러나 render (drupal_get_form ('module_edit_account_form', $ user)); 작동하지 않습니다. 나는 우리가이 함수에 사용자 객체를 전달할 수 없다고 생각한다. 사용자 개체를 제출 기능으로 옮겼습니다. – user3210341
예, 내 자신의 코드에서 사용자 지정 사용자 데이터를 해당 drupal_get_form 함수에 전달합니다. 그래서 이것은 단지 예입니다 .. – Hardy