Вывести имя пользователя добавившего элемент инфоблока в Битрикс

Просмотров: 21232

Иногда, необходимо вывести имя пользователя добавившего элемент инфоблока. Например, автора новости или автора объявления на информационной доске объявлений под управлением 1С Битрикс. Сделать это достаточно просто, хотя и не сразу приходит в голову.

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

В нужном месте шаблона компонента вставляем:

$create_user=$arResult["CREATED_BY"]; //ловим ID создателя 
$GLOBALS['users'] = array("CREATED_BY" => $create_user); 
$userid= $create_user; //подставляем пойманый ID 
$rsUser = CUser::GetByID($userid); 
$arUser = $rsUser->Fetch(); 
echo $arUser["NAME"]; //выводим имя 

Конечно, можно проделать это с помощью компонента "Имя пользователя с титулом" передав в него ID создателя таким же макаром. 

Вывести дополнительные данные об авторе элемента инфоблока

Чтобы вывести больше информации о пользователе, можно воспользоваться вот этим:


<? 
  $create_user=$arResult["CREATED_BY"]; 
  $GLOBALS['users'] = array("CREATED_BY" => $create_user); 
  $userid= $create_user; 
  $rsUser = CUser::GetByID($userid); 
  $arUser = $rsUser->Fetch(); 
?> 
<a href="/users/<? echo $create_user;?>/" > 
<? echo $arUser["NAME"];?> 
</a> 
<? echo $arUser["EMAIL"];?> 
<? echo $arUser["WORK_COMPANY"];?> 
<? echo CFile::ShowImage($arUser['PERSONAL_PHOTO'], 98, 98, 'border=0', '', true); ?> 

Здесь мы вывели: Имя автора с ссылкой на его страницу внутри соц сети Битрикс, электронную почту, название компании из личного профиля, и персональную фотографию автора

Если пользователь авторизован и его логин совпадает с логином автора новости

Если нужно показать ссылку на редактирование материала, если текущий авторизованный пользователь является автором новости/ статьи/ элемента


<?
global $USER;
if($USER->IsAuthorized()):
// Если логин текущего авторизованного пользователя 
// совпадает с логином владельца материала
// даем ему ссылку на редактирование
  $hoster = $arUser["LOGIN"];
  $nowUser = $USER->GetLogin();
  if($nowUser===$hoster):?>
      <a href="/personal/dobavlenie-retsepta/?edit=Y&CODE=<?=$arResult['ID']?>">
           Изменить материал
      </a>
  <?endif;?>
<?endif;?>

Стоимость разработки на 1С-Битрикс:

Индивидуальная разработка магазина

от 400 000 руб. от 5-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Запуск сайта на готовом решении

от 100 000 руб. от 7-ми дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Мобильное приложение

от 400 000 руб. от 1-го месяца

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Сайт компании

от 250 000 руб. от 1-го месяца

Корпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.

Инфресурс

от 300 000 руб. от 5-ти недель

Информационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.

Лечение сайтов от вирусов

от 30 000 руб. от 2-х дней

Выполню полную проверку сайта и окружения. В случае обнаружения вирусов проведу полный комплекс лечения проекта и закрытия лазеек.