Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Инфо о пользователе в элементе инфоблока

00 голосов
10
Доброй ночи, уважаемые... Подскажите пожалуйста - может кто сталкивался: как в детальное описание элемента инфоблока (например в шаблон детального описания) добавить данные о пользователе, который создал (добавил) этот элемент? Что бы другие пользователи при открытии элемента видели например имя и телефон пользователя? Буду очень благодарен за помощь ...
спросил 13 Март, 13 от yye (220 баллов)

10 Ответы

00 голосов
Если при детальном просмотре, то
в шаблоне компонента в файл result_modifier.php добавьте : (если такого фала нет, создайте его)


Код
$rsUser = CUser::GetByID($arResult['CREATED_BY']);
$arUser = $rsUser->Fetch();
$arResult['USER']=$arUser;

Далее, в шаблоне template.php выводите, например

Код
<?=$arResult['USER']['PERSONAL_PHONE]?>
ответил 13 Март, 13 от Neroby (380 баллов)
00 голосов
Цитата
dentrip пишет:
Если при детальном просмотре, то
в шаблоне компонента в файл result_modifier.php добавьте : (если такого фала нет, создайте его)
Код
 $rsUser = CUser::GetByID($arResult['CREATED_BY']);
$arUser = $rsUser->Fetch();
$arResult['USER']=$arUser; 

Далее, в шаблоне template.php выводите, например
Код
 <?=$arResult['USER']['PERSONAL_PHOTO']?> 


Тоесть я правильно понял:Создать в папке с шаблоном компонента файл "result_modifier.php", в него добавить
Код
<? 
$rsUser = CUser::GetByID($arResult['CREATED_BY']);
$arUser = $rsUser->Fetch();
$arResult['USER']=$arUser; 
?> 
а в шаблоне компонента (в моем случае bitrix:news.detail) разместить в нужном месте:
Код
<?=$arResult['USER']['TELEPHONE']?> 

 Больше никакого кода? Если все так, то у меня что-то не получается ....видимо я реально фигово еще знаю битрикс ...
ответил 17 Март, 13 от yye (220 баллов)
00 голосов
Если новость детально (new.detail), в настройках компонента выберите в списке полей Кем создан (ID)


После этого


Код
$rsUser = CUser::GetByID($arResult['CREATED_BY']);
$arUser = $rsUser->Fetch();
$arResult['USER']=$arUser; 
Добавьте

Код
unset($arResult['FIELDS']['CREATED_BY']);



$arResult['USER']['TELEPHONE'], такой переменной не буде, там есть PERSONAL_PHONE, WORK_PHONE


Посмотрите здесь http://dev.1c-bitrix.ru/api_help/main/reference/cuser/index.php
ответил 27 Май, 13 от Neroby (380 баллов)
00 голосов
Я прошу прощения, что трачу Ваше время, но не получается...сделал как Вы написали:Создал файл result_modifier.php в папке с шаблоном news.detail, прописал там код 

<?
$rsUser = CUser::GetByID($arResult['CREATED_BY']);
$arUser = $rsUser->Fetch();
$arResult['USER']=$arUser;
unset($arResult['FIELDS']['CREATED_BY']);
?>


В самом шаблоне прописал:

<p><?=$arResult["User"]["USER_COMPANY"]?></p>

В настройках компонента выбрал в списке полей "Кем создан (ID)"

Вывода все равно ничего не выводит...что я делаю не так не пойму ...может где ковычки не правильно поставил или ещё что нибудь?
Знаете, как в анекдоте:
Звонит пользователь в компанию Майкрософт и говорит: Понимаете, я установил винду, поставил кучу программ, забил весь HDD, свободной памяти 4 мб......но комп не тормозит и не зависает....что я делаю не так?smile:)
ответил 23 Авг, 13 от yye (220 баллов)
00 голосов
$arResult["USER"] и $arResult["User"] это разные переменные, у Вас сначала =$arResult["USER"],
потом <p><?=$arResult["User"]["USER_COMPANY"]?></p>


Выводите на экран содержимое массива $arResult

<pre> <?print_r($arResult);?> </pre>

и анализируйте, какие переменные в этот массив приходят.


Перед вызовом

Код
$rsUser = CUser::GetByID($arResult['CREATED_BY']);

$arUser = $rsUser->Fetch();

$arResult['USER']=$arUser; 

unset($arResult['FIELDS']['CREATED_BY']);   


Проверьте, если ли значение $arResult['CREATED_BY'] в массиве
Код
$arResult  (<pre> <?print_r($arResult);?> </pre>


и так далее ...
ответил 22 Ноя, 13 от Neroby (380 баллов)
00 голосов
Цитата
dentrip пишет:
Проверьте, если ли значение $arResult['CREATED_BY'] в массиве
Код
 $arResult  (<pre> <?print_r($arResult);?> </pre>
 

Ну да - проверил....вот результат
Код
Array
(
    [DATE_ACTIVE_FROM] => 11.05.2012 10:09:55
    [~DATE_ACTIVE_FROM] => 11.05.2012 10:09:55
    [ACTIVE_FROM] => 11.05.2012 10:09:55
    [~ACTIVE_FROM] => 11.05.2012 10:09:55
    [DATE_ACTIVE_TO] => 
    [~DATE_ACTIVE_TO] => 
    [ACTIVE_TO] => 
    [~ACTIVE_TO] => 
    [CREATED_BY] => 1
    [~CREATED_BY] => 1
    [ID] => 281
    [~ID] => 281
    [NAME] => от админа 2
    [~NAME] => от админа 2
    [IBLOCK_ID] => 21
    [~IBLOCK_ID] => 21
    [IBLOCK_SECTION_ID] => 
    [~IBLOCK_SECTION_ID] => 
    [DETAIL_TEXT] => детаил
    [~DETAIL_TEXT] => детаил
    [DETAIL_TEXT_TYPE] => text
    [~DETAIL_TEXT_TYPE] => text
    [PREVIEW_TEXT] => 
    [~PREVIEW_TEXT] => 
    [PREVIEW_TEXT_TYPE] => text
    [~PREVIEW_TEXT_TYPE] => text
    [DETAIL_PICTURE] => Array  
ответил 03 Март, 14 от yye (220 баллов)
00 голосов
И мне под админской учеткой поля имени и эмайла выдал, а зашел под учеткой обычного зарегистрированного пользователя - эти данные не выдало ...
ответил 23 Июнь, 14 от yye (220 баллов)
00 голосов
Цитата
И мне под админской учеткой поля имени и эмайла выдал, а зашел под учеткой обычного зарегистрированного пользователя - эти данные не выдало ...

Может нужно сбросить кэш для компонента?
ответил 23 Окт, 14 от Neroby (380 баллов)
00 голосов
Да не - я разобрался - просто пару символом для вывода забыл поставить))))
Не знаю Вашего имени, но очень благодарен Вам - Вы меня очень выручили - я сам новичок в битриксе ..и сам не додумался бы ...Просто взялся за серьезный проект, и времени изучать все практически нет...я сам дизайнер, а не программист ....так что обращайтесь если  что - может и я буду чем полезен)))

Еще раз спасибо....

... щас немножко разберусь и напишу как все сделал полностью в этом топике - мало ли кому пригодится ..
ответил 21 Фев, 15 от yye (220 баллов)
00 голосов
И снова вопрос:Вывел свойства из профайла пользователя - все отлично, но ....попробовал вывести пользовательское свойство, точнее его значение
есть выпадающий список при регистрации, после выбора одной из вкладок оно сохраняется, но в место выбранного значения выводится ID - в чем может быть дело? Юзал по инету - ничего опять тольком не нашел ...попробовал вариант из FAQ ( http://dev.1c-bitrix.ru/support/faq/8368/#112892 ) - но не совсем понял как их прицепить - мне выдатся значения по умолчанию, либо снова цифра ..
ответил 31 Май, 15 от yye (220 баллов)

Похожие вопросы

0 голосов
1 ответ
спросил 10 Март, 14 от CoolX (100 баллов)
0 голосов
6 ответов
спросил 18 Окт, 13 от Patek (320 баллов)
0 голосов
6 ответов
0 голосов
4 ответов