2012-01-20 6 views
0

아래 코드를 사용하여 Drupal 6에서 내 사용자 프로필의 '등록 정보'그룹을 표시하려고합니다.이 코드가 실행되면 프로필 양식의 필드 레이블이 표시되고, 그러나 입력 필드는 그렇지 않습니다. 페이지 소스에 양식 태그가 없습니다. 이 코드는 D6의 다른 설치에서 작동합니다 - 그래서 나는 그것이 작동한다고 확신합니다. 어떤 아이디어를 디버깅 할 수 있습니까?Drupal 6 - user_profile_form이 표시되지 않습니다.

global $user; 
$uid = $user->uid; 
if ($uid > 0) { 
include_once drupal_get_path('module', 'user') . '/user.pages.inc'; 
$profile = profile_load_profile($user); 
print(drupal_get_form('user_profile_form', $user, 'Registration Information')); 
} 
+0

드루팔은 일반적으로 컴퓨터 이름에 의해 일이 아니라 객체의 제목보다 ... – Clive

답변

0

profile_load_profile() 함수를 사용하는 것처럼 보이지만 다음 줄에서 해당 프로필을 사용하지 않는 것 같습니다. 대신 global $ 사용자를 사용하십시오. 나는 당신이 다음 라인에서 그것을 필요로하기 때문에 당신이 프로파일을로드하고 있지 않습니까?

그래서 대신 :

print(drupal_get_form('user_profile_form', $user, 'Registration Information')); 

시도 :

print(drupal_get_form('user_profile_form', $profile, 'Registration Information')); 
+0

'profile_load_profile을 registration_information''''에 등록 Information'' '를 변경하려고하지 않습니다() '는'$ user' 인수를 참조로 가져 와서 필드를 추가합니다. 'profile_load_profile()'에 반환 값이 없기 때문에'$ profile'에 반환 값을 할당하는 것은 실제로는 아무 것도하지 않습니다 ...'$ user'는 확실히'drupal_get_form()'에 전달할 올바른 객체입니다. – Clive

0

모두 감사합니다. 작업 결국 유일한 것은이었다

global $user; 
module_load_include('inc', 'user', 'user.pages'); 
print user_edit($user, 'Registration Information');