Eu tenho um formulário personalizado que precisa exibir um valor padrão de um campo de usuário personalizado. O campo foi criado em / admin / config / people / accounts / fields e seu nome da máquina é field_r_period_length_sec.
//get user
$userCurrent = \Drupal::currentUser();
$uid = $userCurrent->id();
$r_period = $userCurrent->field_r_period_length_sec;
No entanto, o valor não aparece e recebo este erro:
Aviso: Propriedade indefinida: Drupal \ Core \ Session \ AccountProxy :: $ field_r_period_length_sec
O que estou fazendo errado?
$r_period = $user->field_r_period_length_sec->value;
adicione este comentário/** @var $user \Drupal\user\Entity\User */
acima$user = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());