首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改用户的实体标签方法

问更改用户的实体标签方法
EN

Drupal用户
提问于 2019-06-04 18:04:59
回答 1查看 523关注 0票数 1

默认情况下,user实体的label()方法返回用户名。因此,在使用用户引用的网站上的任何地方,都会显示用户名。

我需要修改这个方法,以便在任何地方显示用户名,它都将使用我的自定义函数。因此,与"custom_user_name“不同,它将显示"Firstname Lastname”。

你知道怎么做到这一点吗?谢谢。

EN

回答 1

Drupal用户

发布于 2020-04-27 10:12:08

上面的例子可能不是你想要做的事情,它可能不像你想要的那样工作。例如,默认的用户列表将显示带有类覆盖的用户名。

此外,在某些情况下甚至不可能覆盖用户类。

有用钩子编辑标签的快捷方式;

代码语言:javascript
复制
/**
 * Implements hook_user_format_name_alter().
 */
function MYMODULE_user_format_name_alter(&$name, \Drupal\Core\Session\AccountInterface $account) {
  $user = $account instanceof \Drupal\user\UserInterface ?
    $account :
    \Drupal::entityTypeManager()->getStorage('user')->load($account->id());
  $name = $user->get('my_field')->value;
}
票数 0
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/281940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档