Если пользователь авторизован то... API Битрикс

5853  |  1

Достаточно часто, при создании сайта на битрикс нужно вывести в шаблон или компонент, некую информацию, доступную только для авторизованного пользователя. Например поздравить его (пользователя) со входом или поблагодарить за возвращение. В самом простом случае вывести кнопку "Выйти". Для этого можно воспользоваться API Битрикс и классом CUser - класс для работы с пользователями.

Используем метод IsAuthorized- авторизован ли пользователь

Использую простой пример. Задача: если пользователь авторизован нам нужно с ним поздороваться и показать простой баннер-картинку, если не авторизован показываем, в этом же месте, простой текст. Для этого в нужном месте шаблона сайта (там где предполагается показывать баннер) вставляем вот такую конструкцию:

<?if(CUser::IsAuthorized()):?>  <i>&mdash; Здраствуйте</i><br/>
<?=(CUser::GetFirstName())?CUser::GetFirstName():CUser::GetLogin()?><br/>
<img src="/путь_к_баннеру.png"/>
<?else:?>
У нас самый лучший и удобный сайт на свете
<?endif;?>  

Расшифровка:

<Если пользователь авторизован>  &mdash; Здраствуйте<br/>
< Имя или Логин (если нет имени) ><br/>
картинка баннер
<иначе>
У нас самый лучший и удобный сайт на свете
<?endif;?>
 

Таким же образом вы можете комбинировать или использовать методы класса CUser, все они освещены в документации по Битрикс, во многих из них есть "живые" примеры использования CUser в документации

Например, вывести в любом месте сайта аватарку пользователя можно вот так:

<?  if ($USER->IsAuthorized()) //Если пользователь авторизован
{
$rsUser = CUser::GetByID($USER->GetID()); //$USER->GetID() - получаем ID авторизованного пользователя и сразу же его поля
$arUser = $rsUser->Fetch();
$arResult["PERSONAL_PHOTO_HTML"] = CFile::ShowImage($arUser["PERSONAL_PHOTO"], 150, 150, "border=0", "", true); //$arUser["PERSONAL_PHOTO"] - тут находится id аватарки, здесь мы получим HTML-код для вывода нужного изображения
}
?>
<?=$arResult["PERSONAL_PHOTO_HTML"]?>

Успехов.

Расскажи друзьям-то:
Уважаемый читатель! В связи с участившимся спамом в комментариях, возможность писать доступна только для зарегистрированных пользователей
Зарегистрироваться Войти Напомнить пароль
Или войти через социальную сеть:
Михаил Базаров
Если нужно показать что-то определенной группе пользователей. Например группа "Контент-редакторы" с ID = 4
Код
<?
   $arGroups = CUser::GetUserGroup($USER->GetID());
   for ($i=0; $i < count($arGroups); $i++) if ($arGroups[$i] == 4):
?> 
 
 текст или чего там собрались показывать 
 
<?endif;?>  

© 2011—2016 Частный вебмастер: ИП Базаров, ОГРНИП: 315784700173692. Работает на 1С-Битрикс.
Копирование материалов запрещено: "ГК РФ, часть 4, раздел VII: Права на результаты интеллектуальной деятельности".

Информация размещенная на сайте, не является публичной офертой. Политика конфеденциальности
x
Как к Вам обращаться? *
Ваша электронная почта: *
Доп. материалы (логотип, тех. задание):
 
Обзор
Текст сообщения: