【发布时间】:2020-02-27 14:08:02
【问题描述】:
我正在进行一个项目,我们正在考虑将 KeystoneJS 用于我们的 CMS。我负责回答的问题之一是 KeystoneJS 是否允许编写自定义插件。我用谷歌搜索,似乎找不到答案,这表明也许没有办法这样做。
我看到 KeystoneJS 在他们的文档中列出了两个插件,但我不清楚他们是否有办法让我们自己编写。
欢迎提供任何信息或文档或示例的链接!
【问题讨论】:
标签: plugins keystonejs
我正在进行一个项目,我们正在考虑将 KeystoneJS 用于我们的 CMS。我负责回答的问题之一是 KeystoneJS 是否允许编写自定义插件。我用谷歌搜索,似乎找不到答案,这表明也许没有办法这样做。
我看到 KeystoneJS 在他们的文档中列出了两个插件,但我不清楚他们是否有办法让我们自己编写。
欢迎提供任何信息或文档或示例的链接!
【问题讨论】:
标签: plugins keystonejs
KeystoneJs 仅支持您在文档页面上看到的列表插件
atTracking 和 byTracking。
目前这些仅支持在内部创建列表对象之前扩展列表配置。列表插件可用于具有可重用的模板字段和验证逻辑
以上两个插件每个只添加两个字段。 atTracking 添加用于跟踪创建和更新时间戳的字段,而 byTracking 添加用于创建和更新项目的用户信息。
keystone 将 createlist listconfig 参数的完整列表传递给插件,此插件必须返回完整配置,keystone 才能继续创建列表。
编辑
我发现了一些使用 cane 的示例,将添加到 keystonejs-contrib 包中。
IpTracking 插件,用于添加创建或更新列表的人员的 ip - https://github.com/MadeByMike/keystone-ip-tracking-plugin/blob/master/index.js
访问控制插件,帮助定义基于角色的访问控制 - https://github.com/MadeByMike/keystone-access-control-demo/blob/master/plugin-access-control.js
两者均由核心团队成员 Mike Riethmuller 制作 - https://github.com/MadeByMike
【讨论】: