在 Magnolia 中创建自定义字段(Magnolia Java 开发的新手)

Creating a custom field in Magnolia (new to Magnolia Java development)

我想为 magnolia 创建一个新的自定义字段,但我对 magnolia 还很陌生并且 java 知识有限(与 magnolia 相隔大约 1 年)。在 magnolia 文档中,自定义字段文档在此处 https://documentation.magnolia-cms.com/display/DOCS57/Custom+fields

但是,我不明白我需要创建什么新代码或者我需要把它放在哪里。

它说我需要在 Magnolia 中将其实现为一个简单的 Vaadin 字段。我试着用谷歌搜索这个并找到了一些链接,但对我没有任何用处。我需要一个在 magnolia 中制作自定义字段的完整代码示例。我还需要知道我应该把 java 代码放在哪里,以及 mangolia 如何知道我的新代码。

在 magnolia 文档中,它说我需要定义 class、工厂 class 和字段 class。这些在单独的文件中吗?它们应该放在 magnolia 文件结构中的什么位置?

更新: 我想我知道将代码放在 fieldTypes 文件夹下的自定义 magnolia 模块中的什么位置。

However, I don't understand from this what new code I need to create or where I need to put it.

一般来说,documentation about development 是您在开始进行自定义开发之前应该阅读的内容。
特别是,您将需要 create your own module and your own custom bundle 将此模块添加到您已经使用的所有模块中并与之结合。如果您已经拥有自定义捆绑包,那就更容易了。 文档还提供了您可以使用的 some suggestions on the tools,但几乎任何 IDE 和 maven 都可以。

完成所有这些设置后,您就可以开始处理所需的自定义字段了。您开发的代码 类 应放置在您的模块中,具体取决于您开发的内容,要么通过类型映射注册,要么作为 Magnolia 本身的字段类型注册(例如,通过安装任务或通过 light 模块)。或者在工厂或演示者的情况下,您可以通过简单地从应该使用它们的应用程序配置中引用它们来使用它们。这样的应用程序可以再次直接在 Magnolia 的 JCR 存储库中配置,通过您的模块以编程方式配置,或者可能最简单地通过将应用程序配置添加到 light 模块。