我是Drupal&的新手。 Twig和我需要的只是在我的自定义主题中一个twig表达式来输出当前用户的ID。只有当用户登录为true / false时,我才能在模板注释中找到任何内容。
有没有一种简单的方法来获取当前用户的ID?我不确定如何在主题中实现自定义方法。
谢谢!
答案 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>
答案 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 }}