편집 :Drupal - 한 페이지에 user_profile_form을 두 개 이상 포함하십시오.
조치가 동일하거나 다른 것으로 생각됩니다.
function mytheme_user_profile_form($form) {
global $user;
$uid = $user->uid;
//print '<pre>'; print_r($form); print '</pre>';
$category = $form['_category']['#value'];
switch($category) {
case 'account':
$form['#action'] = '/user/'.$uid.'/edit?destination=user/'.$uid;
break;
case 'education':
$form['#action'] = '/user/'.$uid.'/edit/education?destination=user/'.$uid;
break;
case 'experience':
$form['#action'] = '/user/'.$uid.'/edit/experience?destination=user/'.$uid;
break;
case 'publications':
$form['#action'] = '/user/'.$uid.'/edit/publications?destination=user/'.$uid;
break;
case 'conflicts':
$form['#action'] = '/user/'.$uid.'/edit/conflicts?destination=user/'.$uid;
break;
}
//print '<pre>'; print_r($form); print '</pre>';
//print $form['#action'];
$output .= drupal_render($form);
return $output;
}
그러나 양식을 실제로 렌더링 할 때 양식 동작은 변경되지 않았습니다. 그들은 모두/user/% uid입니다.
양식 작업을 수정할 수 있습니까?
사용자 프로필 양식의 여러 가지 "범주"를 한 페이지에 포함하고 있으며 코드에서 내가 지정한 양식을 올바르게 출력합니다. 각 양식은 별도의 접을 수있는 div에 있습니다.
내 문제는 두 가지입니다.
(1) 필드에 대한 기존의 값이 미리 채워지지하고
(2) 경고가 발생합니다 하나 개의 섹션에 대해 "저장"을 클릭 : 이메일 필드에 관계없이 어떤 형태의, 필요 실제로 저장하는 중입니다.
문제 번호 2의 경우 버튼의 이름이 모든 경우에 동일하고 양식 ID가 동일하기 때문에 문제가 확실합니다.
print '<h3>– Account Settings</h3>';
print '<div class="expand">';
print(drupal_get_form('user_profile_form', $user, 'account'));
print '</div>';
print '<h3>– My Info</h3>';
print '<div class="expand">';
print(drupal_get_form('user_profile_form', $user, 'Personal'));
print '</div>';
print '<h3>– Experience</h3>';
print '<div class="expand">';
print(drupal_get_form('user_profile_form', $user, 'experience'));
print '</div>';
print '<h3>– Education</h3>';
print '<div class="expand">';
print(drupal_get_form('user_profile_form', $user, 'education'));
print '</div>';
원본 양식을보고이 양식이 실제로 고유한지 확인해 봤습니까? – mikewaters