如何在模板中显示用户或用户组的

在安企CMS的模板设计中,能够灵活地显示用户或用户组信息,对于构建个性化、互动性强的网站体验至关重要。安企CMS提供了直观且功能强大的模板标签,让您可以轻松地在网站前端展示用户的个人资料、所属用户组等丰富信息,从而提升用户参与度和网站的专业性。

无论是想在文章评论区展示用户昵称及其会员等级,还是希望根据用户的身份或所属用户组显示特定的内容与功能,安企CMS提供的 userDetailuserGroupDetail 标签都能成为您得力的助手。

一、获取用户详情:userDetail 标签

userDetail 标签是用来获取单个用户详细信息的关键。它允许我们精确地根据用户ID或当前上下文(如当前登录用户)来提取用户的各项数据。

基本用法

一般而言,如果您希望显示当前登录用户的信息,通常不需要显式指定用户ID,系统会在有登录用户上下文时自动识别。如果需要获取特定用户的信息,例如通过评论者的ID,则需要通过 id 参数来指定用户ID。

其基本结构如下: {% userDetail 变量名 with name="字段名称" id="用户ID" %}

可获取的用户字段

userDetail 标签提供了非常丰富的字段,涵盖了用户的核心信息,您可以根据 name 参数来指定要获取的具体内容:

  • 用户ID (Id): 用户的唯一标识。
  • 用户名 (UserName): 通常是用户的登录名或昵称。
  • 真实姓名 (RealName): 用户的真实姓名(如果已填写)。
  • 用户头像 (AvatarURL, FullAvatarURL): 用户设置的头像地址,FullAvatarURL 可能提供完整路径。
  • 用户邮箱 (Email): 用户的注册邮箱。
  • 用户手机号 (Phone): 用户的手机号码。
  • 用户组ID (GroupId): 用户所属用户组的唯一ID。
  • 是否是分销员 (IsRetailer): 一个布尔值,指示用户是否具有分销员身份。
  • 账户余额 (Balance): 用户账户中可用的资金。
  • 累计收益 (TotalReward): 用户通过平台获得的累计收益。
  • 邀请码 (InviteCode): 用户的专属邀请码。
  • 最近登录时间 (LastLogin): 用户最近一次登录的时间戳,需要通过 stampToDate 过滤器进行格式化显示。
  • VIP过期时间 (ExpireTime): 用户VIP身份的过期时间戳,同样需要格式化。
  • 用户链接 (Link): 指向用户个人主页或其他相关页面的链接。

示例:在页面顶部展示登录用户信息

假设我们要在网站的某个区域展示当前登录用户的头像、昵称,并根据其VIP身份显示过期信息。

”`twig {# 检查用户是否登录,通常通过判断用户ID是否存在来完成 #} {% userDetail currentUserId with name=“Id” %} {% if currentUserId %}

<div>
    {# 获取并显示用户昵称 #}
    {% userDetail userName with name="UserName" %}
    <p>欢迎您,{{ userName }}!</p>

    {# 获取并显示用户头像,如果未设置则显示默认头像 #}
    {% userDetail userAvatar with name="AvatarURL" %}
    {% if userAvatar %}
        <img src="{{ userAvatar }}" alt="{{ userName }}的头像" style="width: 50px; height: 50px; border-radius: 50%;">
    {% else %}
        <img src="/static/images/default-avatar.png" alt="默认头像" style="width: 50px; height: 50px; border-radius: 50%;">
    {% endif %}

    {# 获取用户组ID,以便进一步获取用户组信息 #}
    {% userDetail userGroupId with name="GroupId" %}
    {% if userGroupId %}
        {# 通过用户组ID获取用户组的名称,假设用户组ID为1的用户组是“VIP会员” #}
        {% userGroupDetail userGroupTitle with name="Title" id=userGroupId %}
        <p>您的身份:{{ userGroupTitle }}</p>

        {# 获取