Здравствуйте, в общем, замучился и прошу помочи вот в чем:
мне надо сделать, чтобы в нодах, комментариях, где выводится "Опубликован пользователем Test в Чт, 01/06/2011 - 23:35" рядом с именем пользователя выводилась иконка, если у него есть определенная роль.
В теме Бартик эта функция выглядит так:
$variables['submitted'] = t('published by !username on !datetime', array('!username' => $variables['name'], '!datetime' => $variables['date']));
if ($variables['view_mode'] == 'full' && node_is_page($variables['node'])) {
$variables['classes_array'][] = 'node-full';
}
}
И я никак не могу туда запихать роль пользователя. Нашел такой код:
<?php
global $user;
foreach($user->roles as $k => $v){
$role = $v;
}
print $role;
?>
Подставлял переменные в вывод, чтобы хотя бы просто роль пользователя отображалась, но он выводит роль пользователя, просматривающего страницу...
Всякие другие варианты, которые находил, только ошибки и ругательства выдавали. Но основная проблема, как я понимаю, это получить роли пользователя, который является автором ноды или комментария. Ролей, кстати, несколько у юзера может быть. А написать условие, что если у него есть конкретная роль и написать код картинки, не самое сложное.
Вот, прошу помощи, как это реализовать?
Комментарии
Попробуй так:
$items = array();
foreach ($variables['account']->roles as $key => $value)
if (count($items)) {
$variables['user_profile'] .= '<h3>Список ролей</h3><dl class="user-roles"><dd>' . theme('item_list',$items) . '</dd></dl>';
}
}
Надо было по идее работать с переменной $account, а не с $user.
или $autor
$author