我正在使用 craft 3 Pro 建立一个用户拥有私有区域的网站。 用户注册,并在登录时将他们重定向到包含该用户各自信息的私人区域中的页面。
当我将{% requireLogin %}
与{{ currentUser.id }}
一起使用时,craft 3将在CP(控制面板)中输出具有有效登录名的用户的ID。
但是我需要的是在前端进行登录以访问私有区域的用户的ID,而不是CP中登录的用户ID。
我正在阅读Craft 3文档,但没有找到我要找的答案。
有什么建议吗?
答案 0 :(得分:1)
Craft在CP和SITE用户之间没有区别。仅具有允许用户访问控制面板的权限。
但是您可以使用来访问基本用户对象
craft.app.user
表示登录的用户ID为craft.app.user.id
如果要访问User元素以获取分配给用户的自定义字段的值,则
craft.app.user.identity
和craft.app.user.identity.yourCustomField
{% set userGroups = craft.app.user.identity.getGroups() %}
如果userGroups
包含Admin
用户组,则您的用户...显然是管理员
在这里,身份对象还有很多方法和属性: https://docs.craftcms.com/api/v3/craft-elements-user.html#public-properties
进入!