2012-01-20 28 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

Drupalは通常、マシン名ではなく、オブジェクトのタイトルで物事が... registration_information'' – Clive

答えて

0

それはあなたの使ってprofile_load_profile()関数のように見えますが、その後、あなたは次の行にそのプロファイルを使用していません。代わりに、グローバル$ユーザーを使用します。私はここで推測していますが、あなたは次の行にそれが必要なのでプロファイルを読み込んでいませんか?

ので、代わりの:

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

試してみてください。

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

'profile_load_profile()「'に登録Information''を」 '変更してみてくださいん'は' $ user'引数を参照してフィールドを追加します。 '$ profile'へのリターンの割り当ては、実際には何もしません。' profile_load_profile() 'には戻り値がありません...' $ user'は間違いなく 'drupal_get_form()'に渡す正しいオブジェクトです。 – Clive

0

おかげで、すべて。働くことになっただけのものだった。

global $user; 
module_load_include('inc', 'user', 'user.pages'); 
print user_edit($user, 'Registration Information'); 
関連する問題