据我所知,Drupal 中用户配置文件中的电子邮件字段不会显示(出于良好和明显的原因)。
但是我仍然需要知道如何在 Drupal 5.x 配置文件(nodeprofile)中显示用户电子邮件?
将电子邮件 CCK 字段添加到您的节点配置文件 CCK 类型。
有关更多详细信息,请参阅电子邮件字段模块。以下是其项目页面的摘录:
特征:
- 电子邮件验证
- 将地址转换为 mailto 链接
- 电子邮件地址加密
- 联系表(请参阅显示设置)
- 提供令牌(对于 D 7.x:使用来自实体 API 的实体令牌)
- 向视图公开字段
- 可以与规则一起使用
- 面板集成
更改 theme_user_profile 挂钩(将函数添加到位于当前主题文件夹的 template.php 中),如下所示:
function <your_theme_name>_user_profile($account, $fields) {
// adding the email field to profile
$email = array();
$email["value"] = check_plain($account->mail);
$fields["email"][0] = $email;
// end of adding the email field
// the rest of the default profile hook taken from http://api.drupal.org/api/function/theme_user_profile/5
$output = '<div class="profile">';
$output .= theme('user_picture', $account);
foreach ($fields as $category => $items) {
if (strlen($category) > 0) {
$output .= '<h2 class="title">'. check_plain($category) .'</h2>';
}
$output .= '<dl>';
foreach ($items as $item) {
if (isset($item['title'])) {
$output .= '<dt class="'. $item['class'] .'">'. $item['title'] .'</dt>';
}
$output .= '<dd class="'. $item['class'] .'">'. $item['value'] .'</dd>';
}
$output .= '</dl>';
}
$output .= '</div>';
return $output;
}
更新。 抱歉,没有注意到您正在使用 nodeprofile 模块。我从未使用过它,但我很确定电子邮件可以以类似的方式显示
在 $user 下查找。
global $user;
// You can use dsm with the devel module instead of print_r
print_r($user);
您也可以使用此模块http://drupal.org/project/logintoboggan?