Как показать электронную почту пользователя в профиле Drupal 5.x (nodeprofile)?

Поле электронной почты в профилях пользователей в Drupal, насколько я понимаю, не показывается (по уважительным причинам).

Но мне все еще нужно знать, как показать электронную почту пользователя в профиле Drupal 5.x (nodeprofile)?

3 ответа

Решение

Измените ловушку 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. Я никогда не использовал его, но уверен, что электронная почта может быть показана аналогичным образом.

Добавьте поле CCK электронной почты в свой профиль CCK типа узла.

Для получения более подробной информации обратитесь к модулю поля электронной почты. Вот выдержка из его страницы проекта:

Особенности:

  • проверка электронных писем
  • превращает адреса в почтовые ссылки
  • шифрование адресов электронной почты
  • контактная форма (см. Настройки дисплея)
  • предоставляет токены (для D 7.x: используйте токены Entity из Entity API)
  • выставляет поля для просмотра
  • можно использовать с правилами
  • Интеграция панелей

Посмотрите в разделе $user than.

global $user;
// You can use dsm with the devel module instead of print_r
print_r($user);

Вы можете работать с этим модулем также http://drupal.org/project/logintoboggan?

Другие вопросы по тегам