【问题标题】:Add new field from plugin to existing collection type in Strapi.js将插件中的新字段添加到 Strapi.js 中的现有集合类型
【发布时间】:2022-11-20 09:24:30
【问题描述】:
我似乎找不到合适的方法让我的插件向 Strapi.js 中的现有集合类型添加新字段。
我需要的:
我需要在安装插件后将一个新字段“投票”添加到所有现有集合类型中。然后端点将被公开以简单地将“投票”的数值增加+1。
我尝试了什么:
我尝试创建一个全新的隐藏集合,称为“投票”,在对投票端点的 POST 请求时,它将创建一个投票项,并通过 uid 和 id 引用现有的集合项。然后,我将能够通过引用给定项目计算“投票”集合中项目的数量来计算特定项目的投票数。然而,这似乎是过度设计,因为实际上我真正需要的是向项目添加一个简单的数字,然后在每次有人点击端点时将其简单地增加 +1。
【问题讨论】:
标签:
content-management-system
strapi
headless
headless-cms
【解决方案1】:
我在 strapi.server 文件中处理这个问题,方法是向内容类型添加更多属性,我想在插件存在的情况下扩展这些属性。
export default {
register: ({strapi}) => {
strapi.contentTypes['plugin::users-permissions.user'].attributes['interests'] = {
type: 'enumeration',
enum: ['Music', 'Cooking', 'Sport'],
attributes: {
configurable: false,
nullable: true
}
}
}