在安企CMS的模板设计中,能够灵活地显示用户或用户组信息,对于构建个性化、互动性强的网站体验至关重要。安企CMS提供了直观且功能强大的模板标签,让您可以轻松地在网站前端展示用户的个人资料、所属用户组等丰富信息,从而提升用户参与度和网站的专业性。
无论是想在文章评论区展示用户昵称及其会员等级,还是希望根据用户的身份或所属用户组显示特定的内容与功能,安企CMS提供的 userDetail 和 userGroupDetail 标签都能成为您得力的助手。
一、获取用户详情: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>
{# 获取