Jump to content

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


Envy

Recommended Posts

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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

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

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

 

Link to comment
Share on other sites

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

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

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

Edited by Envy
Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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}}

 

Link to comment
Share on other sites

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  можете просто дать переменную, которая выводит данные, без прочего кода? 

Link to comment
Share on other sites

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

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

1= profile field  id group

10 = profile field id

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

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

Untitled.png

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

 

{{$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 сказал:

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

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

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

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

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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}}

 

Link to comment
Share on other sites

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

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

 

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

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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

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

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

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

2.png

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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}}

Edited by Envy
Link to comment
Share on other sites

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

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

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

1.png

Link to comment
Share on other sites

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}}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...