如何在Drupal 8自定义主题的Twig中获取当前用户ID?
获取Drupal自定义主题中当前用户ID的简便方法
嘿,刚上手Drupal和Twig完全不用发愁,获取当前用户ID其实有超直接的内置方式,根本不用急着写自定义方法!
Drupal默认给Twig模板提供了一个全局变量current_user,你可以直接在自定义主题的任意Twig模板(比如page.html.twig、node.html.twig或者你自己创建的模板文件)里调用它的方法来获取ID:
{# 示例:判断用户已登录后输出ID #} {% if current_user.isAuthenticated() %} 当前登录用户ID:{{ current_user.id() }} {% else %} 您还未登录哦 {% endif %}
如果只是单纯想输出ID(未登录状态下会返回0),直接写{{ current_user.id() }}就行。
顺带提一句,这个全局变量还能拿到其他常用用户信息,比如用户名可以用{{ current_user.getAccountName() }},邮箱是{{ current_user.getEmail() }},足够应付主题里的大部分需求。
至于你担心的“自定义方法”,其实这次完全没必要用到——只有当你需要非常特殊的自定义逻辑时,才需要在主题的.theme文件里注册Twig函数/过滤器,这次用内置的全局变量就足够解决问题啦。
内容的提问来源于stack exchange,提问作者bobomoreno
相关产品推荐
相关产品推荐

