Сделал свою темизацию профиля. Все вышло класно, но есть один момент. В профиле есть поля, которые должны быть скрыты для других пользователей. Но если эти поля выводить через следующий код:
<?php if( $user->profile_icq): ?>
<strong>ICQ: </strong><?php print $user->profile_icq; ?>
<?php endif ?>
то они видны всем пользователям. Может кто знает, как сделать так, чтобы эти поля показывались только тем пользователям, которые имеют на это права?
Комментарии
<strong>ICQ: </strong><?php print $user->profile_icq; ?>
<?php endif ?>
Спасибо. Бум пробовать.
При использовании такого кода пользователь, который указал свой ICQ и неявляется админом, не может видеть скрытые поля даже в своем профиле. Это не подходит.
Методом тыка и проб, перелистывая код модуля profile, у меня получился следующий код:
<?php if(user_access('access user profiles')
&& (user_access('administer users') && $user->profile_icq) || $GLOBALS['user']->uid == $user->uid): ?>
<strong>ICQ: </strong><?php print $user->profile_icq; ?>
<?php endif ?>
Этот код позволяет смотреть пользователю в своем профиле скрытые поля, и не видеть эти поля в чужих профилях. Админам же скрытые поля видны у все пользователей. Это как раз то, что мне нужно.
Спасибо neochief за то что натолкнул на правильный путь.
1. как вывести категории полей профиля?
2. если поля не заполнены как сделать так что бы категория профиля не выводилась