Drupal 8 Twig用户名?

时间:2018-03-10 10:38:37

标签: twig drupal-8

我是Drupal&的新手。 Twig和我需要的只是在我的自定义主题中一个twig表达式来输出当前用户的ID。只有当用户登录为true / false时,我才能在模板注释中找到任何内容。

有没有一种简单的方法来获取当前用户的ID?我不确定如何在主题中实现自定义方法。

谢谢!

5 个答案:

答案 0 :(得分:1)

在您的主题中找到文件yourthemename.theme并添加以下代码:

function yourthemename_preprocess(&$vars, $hook)
{
  $vars['uid'] = \Drupal::currentUser()->id();
}

现在,如果你编辑html,page,region,block,field,form element的twig模板......你可以在你的树枝中使用'uid'标记。它适用于所有钩子

答案 1 :(得分:1)

您好bobomoreno

我建议您使用模块Bamboo Twig Bamboo Twig 模块提供了一些Twig扩展,其中包含一些有用的功能和过滤器,旨在改善开发体验。

然后,您可以启用子模块Bamboo Twig - Loaders

drush en bamboo_twig_loader -y

最后,您将能够使用Twig函数bamboo_load_currentuser

<!-- Get Current User -->
{% set user = bamboo_load_currentuser() %}
<div>{{ user.name.value }}</div>
<div>{{ user.uid.value }}</div>

您可以找到complete official documentation there

答案 2 :(得分:0)

这里有D8现在如何工作,有两行可执行代码:

<?php
// This code returns the current user ID.
$account = \Drupal::currentUser();
return $account->id(); 

答案 3 :(得分:0)

显示名称不是您可以在{{content}}中配置的字段。您可以直接从用户实体获取它:

if VARIABLE then

有关php方法的参考:AccountInterface :: getDisplayName

答案 4 :(得分:0)

如果您只需要 user.html.twig 中的ID,则为{{ user.id }}