Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Текстовое поле в постконтейнере

Featured Replies

Posted

Ребят, всем привет!

Такой вопрос, можно ли как-то реализовать, чтобы в новой версии движка с новыми званиями была возможность ещё отдельного звания, или статуса, как угодно можно назвать, который будет отображаться текстом под ником в постконтейнере? Может как-то совместить старые и новые звания, но по сути не нужно, чтобы что-то выводилось по умолчанию, просто чтобы было текстовое поле, которое могут редактировать админы? Думал как-то реализовать при помощи доп полей, но разве можно как-то отдельно, в нужном месте вывести доп поле? Они вроде привязаны к блоку вывода доп полей, где все и выводятся.

13 часов назад, the.bunin сказал:

но разве можно как-то отдельно, в нужном месте вывести доп поле?

Перебрать $comment->author->contentProfileFields(), найти свое поле, вывести в любом месте.

{{foreach $comment->author()->contentProfileFields() as $group => $fields}}
  {{if $group == 'core_pfieldgroups_1'}} ----- нужная группа
    {{foreach $fields as $field => $value}}
      {{if $field=='core_pfield_2'}}  ----- нужное поле
        <p class='ipsResponsive_hidePhone ipsType_break'>
          {$v = explode(": ", strip_tags($value))}
          {$v[1]}
        </p>
      {{endif}}
    {{endforeach}}
  {{endif}}
{{endforeach}}

Или шаблон создать и передавать туда $author и нужные поля. 

Или так как вариант:

{{if $comment->author()->member_id}}
	{{$ProfileFields = $comment->author()->contentProfileFields();}}
	{$ProfileFields['core_pfieldgroups_GID']['core_pfield_PID']}
{{endif}}

GID - id группы доп. полей
PID - id доп. поля профиля
Чтобы убрать заголовок можно использовать пользовательское форматирование введя только {$content}

Блин, заработался, можно же проще

{{$a = explode(": ", strip_tags( $comment->author()->contentProfileFields()['core_pfieldgroups_1']['core_pfield_2']));}}      
{$a[1]}

 

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

Чтобы убрать заголовок можно использовать пользовательское форматирование введя только {$content}

Тогда еще проще:)

{{$a = $comment->author()->contentProfileFields()['core_pfieldgroups_1']['core_pfield_2'];}}
{$a}

 

  • Author
19 минут назад, Desti сказал:

Тогда еще проще:)

{{$a = $comment->author()->contentProfileFields()['core_pfieldgroups_1']['core_pfield_2'];}}
{$a}

Как раз в этом варианте заголовок вывелся, а в первом без него :) 

Desti ZIKURIK ребят, супер, спасибо огромное) Только возник вопрос, а как сделать, чтобы отображалось только в том месте, где я вывожу? Потому что получается дублируется ещё в общем блоке доп полей. А если в настройках доп поля указываю, чтобы не отображать с контентом, то везде пропадает, логично)

5 минут назад, the.bunin сказал:

Потому что получается дублируется ещё в общем блоке доп полей.

Можно покурочить шаблон customFieldsDisplay, добавить условия типа {{if $group != 'core_pfieldgroups_1'}} и {{if $field == 'core_pfield_2'}} в циклы

 

Это, конечно, костылики, но Custom поля применяются во вполне конкретных местах и красиво их не сделать. Можно добавить свою функцию myContentProfileField() в \IPS\Member и получать одно конкретное поле прямо из базы, но это уже плюгин и хак. 

21 минуту назад, the.bunin сказал:

Только возник вопрос, а как сделать, чтобы отображалось только в том месте, где я вывожу? Потому что получается дублируется ещё в общем блоке доп полей. А если в настройках доп поля указываю, чтобы не отображать с контентом, то везде пропадает, логично)

выключи в настройках поля отображение в темах и в профиле.
и в постконтейнер в нужное место:
field_7 = айди поля. в таблице core_pfields_content.

		{{$status = \IPS\Db::i()->select( 'field_7', 'core_pfields_content', array( 'member_id=?', $comment->author()->member_id ) )->first();}}
			{{if $status != NULL}}
				<li class='ipsList_reset'>{$status}</li>
			{{endif}}

как итог:

Спойлер

321.PNG.6f05a035efdb796b21eb3206ad9257a3.PNG

321321.PNG.add2057789594db71068f295a825d526.PNG

 

 

3 минуты назад, by_ix сказал:

а кто-то говорил, что нужно без них? 

Официальная позиция инвижынов - "если есть возможность, постарайтесь обходиться без них". 

  • Author
20 минут назад, by_ix сказал:

выключи в настройках поля отображение в темах и в профиле.
и в постконтейнер в нужное место:
field_7 = айди поля. в таблице core_pfields_content.

		{{$status = \IPS\Db::i()->select( 'field_7', 'core_pfields_content', array( 'member_id=?', $comment->author()->member_id ) )->first();}}
			{{if $status != NULL}}
				<li class='ipsList_reset'>{$status}</li>
			{{endif}}

как итог:

  Показать контент

321.PNG.6f05a035efdb796b21eb3206ad9257a3.PNG

321321.PNG.add2057789594db71068f295a825d526.PNG

 

Вообще ТОП 🔥 спасибо, встало как надо)

  • Author

Ребят, вопрос, а почему не применяется в постконтейнере форматирование к полю? То есть, если выставляю тип поля "Код" или даже "Редактор", делаю наклонные текст или жирный, то выводится с содержимым. Как исправить?

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
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.