Posted 28 октября, 20213 yr comment_173949 Ребят, всем привет! Такой вопрос, можно ли как-то реализовать, чтобы в новой версии движка с новыми званиями была возможность ещё отдельного звания, или статуса, как угодно можно назвать, который будет отображаться текстом под ником в постконтейнере? Может как-то совместить старые и новые звания, но по сути не нужно, чтобы что-то выводилось по умолчанию, просто чтобы было текстовое поле, которое могут редактировать админы? Думал как-то реализовать при помощи доп полей, но разве можно как-то отдельно, в нужном месте вывести доп поле? Они вроде привязаны к блоку вывода доп полей, где все и выводятся.
29 октября, 20213 yr comment_173954 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 и нужные поля.
29 октября, 20213 yr comment_173955 Или так как вариант: {{if $comment->author()->member_id}} {{$ProfileFields = $comment->author()->contentProfileFields();}} {$ProfileFields['core_pfieldgroups_GID']['core_pfield_PID']} {{endif}} GID - id группы доп. полейPID - id доп. поля профиля Чтобы убрать заголовок можно использовать пользовательское форматирование введя только {$content}
29 октября, 20213 yr comment_173956 Блин, заработался, можно же проще {{$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}
29 октября, 20213 yr Author comment_173959 19 минут назад, Desti сказал: Тогда еще проще:) {{$a = $comment->author()->contentProfileFields()['core_pfieldgroups_1']['core_pfield_2'];}} {$a} Как раз в этом варианте заголовок вывелся, а в первом без него Desti ZIKURIK ребят, супер, спасибо огромное) Только возник вопрос, а как сделать, чтобы отображалось только в том месте, где я вывожу? Потому что получается дублируется ещё в общем блоке доп полей. А если в настройках доп поля указываю, чтобы не отображать с контентом, то везде пропадает, логично)
29 октября, 20213 yr comment_173960 5 минут назад, the.bunin сказал: Потому что получается дублируется ещё в общем блоке доп полей. Можно покурочить шаблон customFieldsDisplay, добавить условия типа {{if $group != 'core_pfieldgroups_1'}} и {{if $field == 'core_pfield_2'}} в циклы Это, конечно, костылики, но Custom поля применяются во вполне конкретных местах и красиво их не сделать. Можно добавить свою функцию myContentProfileField() в \IPS\Member и получать одно конкретное поле прямо из базы, но это уже плюгин и хак.
29 октября, 20213 yr comment_173962 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}} как итог: Спойлер
29 октября, 20213 yr comment_173967 Только что, Desti сказал: попробуйте найти а кто-то говорил, что нужно без них?
29 октября, 20213 yr comment_173968 3 минуты назад, by_ix сказал: а кто-то говорил, что нужно без них? Официальная позиция инвижынов - "если есть возможность, постарайтесь обходиться без них".
29 октября, 20213 yr comment_173969 1 минуту назад, Desti сказал: постарайтесь обходиться обходимся без официальных позиций.
29 октября, 20213 yr Author comment_173970 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}} как итог: Показать контент Вообще ТОП 🔥 спасибо, встало как надо)
29 октября, 20213 yr Author comment_173974 Ребят, вопрос, а почему не применяется в постконтейнере форматирование к полю? То есть, если выставляю тип поля "Код" или даже "Редактор", делаю наклонные текст или жирный, то выводится с содержимым. Как исправить?
29 октября, 20213 yr Author comment_173984 4 минуты назад, by_ix сказал: the.bunin замени {$status} на {$status|raw}. от души!🍻
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.