如果您想在 node.tpl.php 中访问作者的个人资料信息,那么您需要使用 phptemplate_preprocess_node 函数而不是 user_profile 函数。默认情况下,节点预处理函数没有 $account 对象,因此您必须将其加载:
这在您的 template.php 文件中的 phptemplate_preprocess_node 函数中:
if ($vars['uid']) {
$vars['account'] = user_load(array('uid' => $vars['uid']));
}
然后,您将能够在您的 node.tpl.php 中访问作者的配置文件值。您具体询问的值是:
print($account->profile_real_name);
但是,听起来您可能希望节点作者的姓名显示为 profile_real_name 值而不是他们的帐户名?
如果是这样,更有效的方法是覆盖 theme_username 函数。
这不是你直接问的,所以我不会在这里讨论,但是 drupal.org 论坛上的这篇文章将是 Drupal 5 或 6 的一个很好的起点:http:
//drupal.org/node/122303 #comment-204277