Apostrophe cms 创建用户配置文件块
我想创建一个用户配置文件,它加入撇号user,以便管理员可以为特定用户公开配置文件。我知道这是不推荐的,但我认为这是唯一的选择,有可能在这一边的人有一个公共配置文件,并能够登录和编辑他们的配置文件。否则,管理员需要更改数百人的用户配置文件,这将导致全职工作。现在不需要用户注册,但将来可能需要用户注册,因此我的模块应该与Apostrophe注册兼容 开始很简单:Apostrophe cms 创建用户配置文件块,apostrophe-cms,Apostrophe Cms,我想创建一个用户配置文件,它加入撇号user,以便管理员可以为特定用户公开配置文件。我知道这是不推荐的,但我认为这是唯一的选择,有可能在这一边的人有一个公共配置文件,并能够登录和编辑他们的配置文件。否则,管理员需要更改数百人的用户配置文件,这将导致全职工作。现在不需要用户注册,但将来可能需要用户注册,因此我的模块应该与Apostrophe注册兼容 开始很简单: //lib/modules/profiles/index.js module.exports={ 扩展:'撇号片段', 名称:'prof
//lib/modules/profiles/index.js
module.exports={
扩展:'撇号片段',
名称:'profile',
标签:“配置文件”,
pluralLabel:“配置文件”,
slugPrefix:“profile-”,
添加字段:[
{
名称:“\u用户”,
标签:“用户”,
类型:“joinByOne”,
withType:“撇号用户”,
idField:“用户ID”,
withJoins:对
}
]
};
这是碎片小部件:
//lib/modules/profiles widgets/views/widget.html
{%用于数据中的片段。小部件。\u片段%}
{{piece.\u user.username}}
{{piece.\u user.title}}
{{piece.\u user.firstName}}
{{piece.\u user.lastName}}
{{piece.\u user.email}
{{apos.area(piece._user,'bio',{edit:false}}}
{%endfor%}
我将\u缩略图
和bio
字段添加到撇号用户
:
//lib/modules/撇号users/index.js
module.exports={
beforeConstruct:函数(自身、选项){
options.addFields=[
{
名称:“_缩略图”,
类型:“joinByOne”,
withType:'撇号图像',
标签:“个人资料图片”,
帮助:“选择个人资料图片”,
过滤器:{
预测:{
附件:对,,
描述:对,
标题:真实
}
}
},
{
姓名:'生物',
标签:“传记”,
类型:'区域',
帮助:'选择传记',
选项:{
限额:1,,
小部件:{
“撇号富文本”:{
工具栏:[“粗体”],
控制:{
可移动:假,
可克隆性:错误,
对,,
位置:'右上方'
}
}
}
}
}
].concat(options.addFields | |[]);
}
};
登录后,我可以看到widget.html
中定义的所有字段,但是如果我注销,我什么也看不到。我希望这是因为用户被取消发布。
我试图在撇号用户
中添加一个已发布的
字段,但没有成功
//lib/modules/撇号users/index.js
...
{
类型:'布尔',
名称:'已发布',
标签:“已发布”,
戴夫:是的,
},
...
我做错了什么
作为第二个问题,我想知道是否可以允许登录用户编辑自己的个人资料?撇号2中没有直接支持将用户用作公共可用数据。一个常见的解决方法是创建一个“Profile”工件类型或类似的东西,然后添加一个连接以将其连接到用户(如果这有助于组织) 在用户模块上设置
adminOnly:false
,您可以直接配置权限,但这会使用户的安全问题成为您的一部分职责
更新:
在这样的项目中编写lib/modules/撇号users/index.js
会将published
字段添加回用户:
module.exports={
defaultRemoveFields:[],
defaultRemoveFilters:[],
defaultRemoveColumns:[]
};
默认情况下,这些数组包括“已发布的”
,从UI中隐藏发布选项
一旦发布,它们将在注销时可见。同样,在执行此操作时,请确保考虑到安全问题。“当添加连接以将其连接到用户”这正是我所做的。更具体地说,我只需要帮助将已发布字段添加回用户,而我这样做是行不通的。你也可以在文档中说,我可以把它添加回去,但这不起作用,至少不是我这样做的。你能再看一下我的问题吗?Thx'defaultRemoveFields'为我做的我不知道这个选项,我想从语句中添加它们作为正常字段,如上图所示。也许这有点误导,可以根据您的解释进行更新。当然可以。我已经把文件弄清楚了。