Перейти к содержанию

Как вывести определенное поле пользователя


Рекомендуемые сообщения

Привет, никто не знает как вывести кастомное поле профиля? Например, я создал поле "Skype", его ID - 2, как его вывести отдельно в блоке, допустим?

Ссылка на комментарий
Поделиться на другие сайты

38 минут назад, Envy сказал:

Привет, никто не знает как вывести кастомное поле профиля? Например, я создал поле "Skype", его ID - 2, как его вывести отдельно в блоке, допустим?

Обсуждалось же. Или вы не об этом?

Ссылка на комментарий
Поделиться на другие сайты

povstance, написано же

40 минут назад, Envy сказал:

как его вывести отдельно в блоке,

 

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, povstance сказал:

Обсуждалось же. Или вы не об этом?

Мне нужна именно переменная, которая обращается к одному из полей. То есть, как {member="name"} выводит [url=#]Никнейм[/url] пользователя, так, я думаю, существует переменная, к которой следует обратиться, чтобы вывести данные об определенном поле.

Изменено пользователем Envy
Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, Envy сказал:

как его вывести отдельно в блоке, допустим?

А в каком именно блоке? В боковом, или в профиле или где?

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, Envy сказал:

Привет, никто не знает как вывести кастомное поле профиля? Например, я создал поле "Skype", его ID - 2, как его вывести отдельно в блоке, допустим?

{{$skype = preg_replace('/<wbr>/', '', $comment->author()->contentProfileFields()['core_pfieldgroups_1'][10]);}}
					{{if $comment->author()->contentProfileFields()['core_pfieldgroups_1'][10]}}
						<a href="skype:{$skype}?chat" target="_blank" class="ipsButton_secondary ipsType_smaller"><img style="width:20px;" src='{resource="skype.png" app="core" location="global"}'></a>
					{{else}}
						<a style="opacity:0.2" target="_blank" class="ipsButton_secondary ipsType_smaller"><img style="width:20px;" src='{resource="skype.png" app="core" location="global"}'></a>
					{{endif}}

 

Ссылка на комментарий
Поделиться на другие сайты

11 минут назад, Silence сказал:

{{$skype = preg_replace('/<wbr>/', '', $comment->author()->contentProfileFields()['core_pfieldgroups_1'][10]);}}
					{{if $comment->author()->contentProfileFields()['core_pfieldgroups_1'][10]}}
						<a href="skype:{$skype}?chat" target="_blank" class="ipsButton_secondary ipsType_smaller"><img style="width:20px;" src='{resource="skype.png" app="core" location="global"}'></a>
					{{else}}
						<a style="opacity:0.2" target="_blank" class="ipsButton_secondary ipsType_smaller"><img style="width:20px;" src='{resource="skype.png" app="core" location="global"}'></a>
					{{endif}}

 

HTTP ERROR 500  можете просто дать переменную, которая выводит данные, без прочего кода? 

Ссылка на комментарий
Поделиться на другие сайты

{{if $comment->author()->contentProfileFields()['core_pfieldgroups_1'][10]}}
код
{{endif}}

изменит ид 1 и 10

1= profile field  id group

10 = profile field id

ACP -> Пользователи -> Настройка -> Профили пользователей -> Создать

В группе контакты создаем поля: Skype

Untitled.png

Ссылка на комментарий
Поделиться на другие сайты

А как определить, с какого юзера это выводится? Или будет выводиться того юзера, кто смотрит код?

Ссылка на комментарий
Поделиться на другие сайты

По вашей наводке нашел решение несколько проще, как мне кажется, в общем, может кому-то пригодиться:

 

{{$fields = \IPS\Member::loggedIn()->profileFields();}}
{{$field23 = $fields['core_pfieldgroups_3']['core_pfield_3'];}}
{{$field41 = $fields['core_pfieldgroups_3']['core_pfield_4'];}}
Выводим поле из группы 3 с ID поля 3: {$field23}
Выводим поле из группы 3 с ID поля 4: {$field41}

 

Только что, Axeland сказал:

А как определить, с какого юзера это выводится? Или будет выводиться того юзера, кто смотрит код?

В коде, что я разместил выше, для залогиненого юзера

Ссылка на комментарий
Поделиться на другие сайты

= \IPS\Member::loggedIn()->profileFields();}

Вот этот кусок тогда изменить и можно выводить код любого юзера :) Спасибо за интересную тему, как раз сейчас интересуюсь этим же вопросом. @Silence, без сомнения, гуру наш :)

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, Axeland сказал:

= \IPS\Member::loggedIn()->profileFields();}

Вот этот кусок тогда изменить и можно выводить код любого юзера :) Спасибо за интересную тему, как раз сейчас интересуюсь этим же вопросом. @Silence, без сомнения, гуру наш :)

Смысла выводить какого-то отдельного юзера не вижу, только если comment->author ставить и в посты, но и в этом особого смысла не вижу, ведь это все и так реализовано.. 

Ссылка на комментарий
Поделиться на другие сайты

Только что, Envy сказал:

Смысла выводить какого-то отдельного юзера не вижу, только если comment->author ставить и в посты, но и в этом особого смысла не вижу, ведь это все и так реализовано.. 

Я хочу это юзать для вывода информации из полей в подпись. Буду кодить на днях.

Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, Envy сказал:

По вашей наводке нашел решение несколько проще, как мне кажется, в общем, может кому-то пригодиться:

 


{{$fields = \IPS\Member::loggedIn()->profileFields();}}
{{$field23 = $fields['core_pfieldgroups_3']['core_pfield_3'];}}
{{$field41 = $fields['core_pfieldgroups_3']['core_pfield_4'];}}
Выводим поле из группы 3 с ID поля 3: {$field23}
Выводим поле из группы 3 с ID поля 4: {$field41}

 

В коде, что я разместил выше, для залогиненого юзера

{{if \IPS\Member::loggedIn()->member_group_id === 4}}
	Это содержание показывает только членам в группе "Администраторы" (ID 4 в нашем примере) 
{{endif}}

 

Ссылка на комментарий
Поделиться на другие сайты

Только что, Silence сказал:

{{if \IPS\Member::loggedIn()->member_group_id === 4}}
	Это содержание показывает только членам в группе "Администраторы" (ID 4 в нашем примере) 
{{endif}}

 

да про это я в курсе, спасибо))

Ссылка на комментарий
Поделиться на другие сайты

{{if in_array( \IPS\Member::loggedIn()->member_group_id, array( 2, 4, 6 ) )}}
Это содержание показывает только членам в группах с ID 2, 4 или 6. 
{{endif}}

 

Ссылка на комментарий
Поделиться на другие сайты

Я делал что бы только у меня инфа отображалась в Темах профиля, ну или же можно любого юзера указать.

Добавлял код в postConteiner

{{if $comment->author()->member_id =='1'}}
Тут любая информация или кнопки         
            {{endif}}  

Таким образом получалось

2.png

Ссылка на комментарий
Поделиться на другие сайты

А вот это условие {{if $comment->author()->member_id}} берет инфу из поля текущего автора поста?

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, Axeland сказал:

А вот это условие {{if $comment->author()->member_id}} берет инфу из поля текущего автора поста?

Только нужно ид пользователя указывать

Ссылка на комментарий
Поделиться на другие сайты

12 минут назад, Axeland сказал:

А вот это условие {{if $comment->author()->member_id}} берет инфу из поля текущего автора поста?

Это условие можно перевести на русский как "если у автора поста есть ID профиля", я думаю, в этом условии есть смысл только если гостям разрешено писать на форуме

Ссылка на комментарий
Поделиться на другие сайты

У меня гостям запрещено писать, я просто делал что бы только у меня информация отображалась в постах и не у кого другого. 

Думаю так же и в подпись можно впихнуть если это только для себя человеку нужно.

Ссылка на комментарий
Поделиться на другие сайты

А если нужна доп. информация, выводимая в любом посте от автора поста, и видимая всем, например, в подпись?)

Ссылка на комментарий
Поделиться на другие сайты

10 минут назад, Axeland сказал:

А если нужна доп. информация, выводимая в любом посте от автора поста, и видимая всем, например, в подпись?)

        {{if $comment->author()->signature}}
            {template="signature" group="global" app="core" params="$comment->author()"}
        {{endif}}

Ищем этот код, меняем на

		{{if $comment->author()->signature}}
{{$fields = $comment->author()->profileFields();}}
{{$field1 = $fields['core_pfieldgroups_1']['core_pfield_3'];}}
{$field1}
			{template="signature" group="global" app="core" params="$comment->author()"}
		{{endif}}

core_pfieldgroups_1 - меняем ИД группы полей на свои
core_pfield_3 - меняем ИД поля на свой

все должно работать, пробуйте
отображение сами настроите, за вывод отвечает {$field1}

Это если юзер написал подпись, если надо чтобы внезависимости есть подпись или нет, то поставить код ДО {{if $commen->author()->signature}}

Изменено пользователем Envy
Ссылка на комментарий
Поделиться на другие сайты

Попробовал так

 {{if $comment->author()->member_group_id =='3'}}
Тут любая информация или кнопки
{{endif}}

Получилось только с одной группой, можно продублировать для других групп если выхода нет.

1.png

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, wasder12 сказал:

Попробовал так


 {{if $comment->author()->member_group_id =='3'}}
Тут любая информация или кнопки
{{endif}}

Получилось только с одной группой, можно продублировать для других групп если выхода нет.

1.png

не понятно что вам нужно

чтобы добавить и другие группы, достаточно просто перечислить их 

 {{if $comment->author()->member_group_id =='3' or $comment->author()->member_group_id =='4' or $comment->author()->member_group_id =='5'}}
Тут любая информация или кнопки
{{endif}}

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...