我正在使用工艺3专业制作一个网站,用户有一个私人区域。用户注册,当登录发生时,他们被重定向到私人区域中的一个页面,其中包含有关该用户的相关信息。
当我将{% requireLogin %}与{{ currentUser.id }}结合使用时,工艺3会输出在CP (控制面板)中具有活动登录的用户的ID。
但是我需要的是在前端登录的用户的ID,而不是登录在CP中的用户ID。
我在读手工艺3的文档,但没有找到我想要的答案。
有什么建议吗?
发布于 2019-08-08 13:41:34
工艺并不影响CP和站点用户之间的区别。只有允许用户访问“控制面板”的权限。
但是,您可以使用
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用户组,您的user...is显然是管理员
此外,还有一堆用于identity对象的方法和属性:https://docs.craftcms.com/api/v3/craft-elements-user.html#public-properties
挖进去!
https://stackoverflow.com/questions/55703308
复制相似问题