プロファイル ページに加えて、ノードのユーザー アカウントのフィールドの管理セクションで作成したカスタム フィールドを表示しようとしています。このコードで私が抱えている問題は、特定のユーザーのフィールドではなく、最初に見つかったフィールドを表示し、それをすべてのユーザーに表示することです。そしてアイデア?配列内の特定のユーザーの値ではなく、配列内の最初の値を見つけていると思います。
これまでのセットアップは次のとおりです。これを私のテーマの template.php に追加しました。
function mythemename_preprocess_node(&$vars) {
global $user;
$user = user_load($user->uid); // Make sure the user object is fully loaded
$team = field_get_items('user', $user, 'field_team');
if ($team) {
$vars['field_team'] = $team[0]['value'];
}
}
次に、ノードに表示するために、これを node.tpl.php に追加しました。
if (isset($field_team) && !empty($field_team)) :
echo '$field_team.'</div>';
endif;
更新: ここで自分の答えを見つけました: http://drupal.org/node/1194506
使用したコード:
<?php
$node_author = user_load($node->uid);
print ($node_author->roles[3]);
print ($node_author->field_biography['und'][0]['value']);
?>