Рейтинг:0

Правильный способ печати зарегистрированных пользовательских пользовательских полей

флаг in

Каков правильный способ получить значение поля для учетной записи, используемой от текущего пользователя, вошедшего в систему, и распечатать его в файле шаблона, например, в файле блока или шаблона страницы?

Я пытался использовать следующий код, но он не работает.

используйте Drupal\Core\Entity\EntityTypeManager;
используйте Drupal\user\Entity\User;

$user_id = \Drupal::currentUser()->id();
$user_entity = \Drupal::entityTypeManager()->getStorage('user')->load($user_id);
$variables['field_custom'] = $user_entity->field_custom->значение;

В файле шаблона я использую этот код.

{{ field_custom }}

Поскольку настраиваемое поле доступно, как я могу распечатать другие свойства поля, если поле является полем ссылки на сущность для термина таксономии?

NataN avatar
флаг in
Нет, потому что этот пример становится значением из node. Я хочу, чтобы значение пользовательских полей глобально использовалось в блоках и ветках страниц.
флаг ru
Неважно, исходит ли это от узла или от пользователя. Поле ссылки на объект _Every_ работает таким образом
NataN avatar
флаг in
Мне очень жаль, но для меня это не имеет никакого смысла, я хочу печатать значения из текущего профиля пользователя, а не из node. У него должен быть простой запрос. Даже в этом случае я попытался использовать пример из указанной ссылки, но безуспешно. Я изменил {{ node.field.entity }} на {{ user.field.entity }}, но это не работает. Также я успешно напечатал {{user.displayname}}, теперь мне нужно напечатать пользовательские поля.
Kevin avatar
флаг in
Неважно, что в связанном вопросе написано «узел» — проверьте документы. Доступ к полям сущностей и их значениям одинаков.
NataN avatar
флаг in
Я ценю все ответы, но вы указываете ссылку, связанную со ссылкой на объект узла, я очень ясно дал понять, что мне нужно распечатать текущие значения зарегистрированных пользователей на странице или в шаблонах блоков, это не имеет отношения к узлу. Поэтому мне пришлось создать представление для этого, как указано в этом вопросе https://drupal.stackexchange.com/questions/291275/how-can-i-print-user-field-values-in-page-html-twig. Также для системных меню можно использовать модуль https://www.drupal.org/project/menu_token с токеном «текущего пользователя».

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.