Подскажите пожалуйста, как реализовать в Drupal 7 (скрипт, модуль) вывод информации под логином пользователя о том, что он заполнил в своем профиле определенное поле? К примеру юзер в профиле ставит отметку, что он занимается спортом и на сайте под логином ввводить - спортсмен.
Комментарии
А как вывести поле field_profile_city из профиля в comment.tpl.php ?
Переменная $author уже определена, выводит автора коментария. Может переменная $profile?
Вставил в template.php
<?php
function professional_theme_preprocess_comment($variables) {
$user = $variables['user'];
// Full load user
$user = user_load($user->uid);
// Now access your field
$city = field_get_items('user', $user, 'field_uzer_city');
if ($city) {
$variables['author_city'] = $city[0]['safe_value'];
}
else {
$variables['author_city'] = '';
}
// On your comment.tpl.php using $author_city
}
?>
но в comment.tpl.php переменная $author_city не появилась.
function professional_theme_preprocess_comment(&$variables)
Может так? А
Поменял на &$variables
Все равно $author_city не выводится в comment.tpl.php
Друзья, проблема в том, что поле field_uzer_city в профиле является термином словаря. Подскажите, как в этом случае скорректировать код?
Итак, рабочий код, который поможет вывести в профиль (слева от комментария) данные из полей профиля.
Выводим город юзера (город является термином словаря)
в файле template.php
<?php
function Ваша тема_preprocess_comment(&$variables) {
$user = $variables['user'];
// Full load user
$user = user_load($user->uid);
// Now access your field
$city = field_get_items('user', $user, 'field_city');
if (
$city) {$term_id = $city[0]['tid'];
$term = taxonomy_term_load($term_id);
$variables['author_city']=$term->name;
}
else {
$variables['author_city'] = '';
}
}
?>В файле comment.tpl.php
<?php print 'Город: '. $author_city; ?>
Но этот код выводит данные из профиля автора ноды, а как вывести для автора комментария?
Меняю на
<?php
$comment = $variables['comment'];
$user = comment_load($comment->uid);
?>
вообще ничего не выводит.
Вот так получилось
<?php
$user = $variables['user'];
$comment = $variables['comment']; $user = user_load(array('uid' => $comment->uid));
?>
Всем спасибо!