Jump to content

Featured Replies

Posted
comment_165756

Посмотрел поиском, но ответа не нашёл. Может кто сталкивался - как прочитать в шаблоне значение кастомного поля из Профиля. Хочу в Профиле сделать кнопку, чтобы люди могли индивидуально включать некие опции. Шаблон будет читать это поле и допустим, подгружать или игнорировать некий скрипт.

comment_165757

{{$custom = $member->contentProfileFields()[core_pfieldgroups_#][core_pfield_#]}} 

ID-шники группы и поля взять из админки, $member может быть чем угодно: $author, $comment->member, смотрите в полях шаблона.

Можно в цикле все поля читать, если надо, типа

{{foreach $member->contentProfileFields() as $group => $fields}}
    {{foreach $fields as $field => $value}}
        {$group} - {$field} - {$value}
    {{endforeach}}
{{endforeach}}

 

comment_165759

Ой, это не совсем то :)

Поля профиля добываются так: 

$member->profileFields( \IPS\core\ProfileFields\Field::PROFILE )['core_pfieldgroups_#']['core_pfield_#']

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

В каком шаблоне, например?

В глобал.

У меня задача отследить истина/ложь в кастомном поле и включить/выключить скрипт для каждого конкретного пользователя.

comment_165790

Впрочем не важно, синтаксис php надо соблюдать. Вот такое работает у меня, выводит поле на экран

{{$memb = \IPS\Member::load( \IPS\Member::loggedIn()->member_id );}}
{{$cust = $memb->profileFields( \IPS\core\ProfileFields\Field::PROFILE )['core_pfieldgroups_1']['core_pfield_2'];}}
{{var_dump($cust); die();}}

 

comment_165792

['core_pfieldgroups_1']['core_pfield_14'] 

Сначала выведите на экран, я не помню, там true/false или 1/0. 

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

['core_pfieldgroups_1']['core_pfield_14'] 

Сначала выведите на экран, я не помню, там true/false или 1/0. 

Лёд тронулся. По крайней мере, уже не кричит на ошибку, а уверенно выдаёт NULL :) 

В базе у меня поле принимает значение 1 или 0 (текстовое).

comment_165794

Не должно, если поле установлено. И почему текстовое? Измените на чекбокс или Да/Нет, нагляднее и пользователю понятнее.

  • Author
comment_165796
1 час назад, Desti сказал:

Не должно, если поле установлено. И почему текстовое? Измените на чекбокс или Да/Нет, нагляднее и пользователю понятнее.

Сам движок его сделал текстовым, я через админку поставил да/нет. А для пользователя это, как ползунок вкл/выкл. Мне кажется, что в базе специально так сделали, чтобы можно было тип поля переключать, не перелопачивая таблицу.

Edited by ipb323

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

Сам движок его сделал текстовым

Видимо, я что-то не понимаю в этой жизни.. Какой движок, что поставил? Вы сами выбираете, что надо и в каком виде.

image.png.0e4b0cdd2625d0f9d4060491009d8c01.png

  • Author
comment_165810

Desti я ровно об этом и говорю. Поле выбрал именно такое, но в базе оно значится, как mediumtext

0412.jpg.e6b2593b78d03f5aa36d0be53fb0e327.jpg

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.