Magnolia CMS 以编程方式创建 page/component 模板

Magnolia CMS create page/component template programmatically

我想将所有设置、模板等保存在存储库中。所以最好将它放在单独的文件中。

是否可以使用标准模板工具包以编程方式创建 magnolia 模板?如果是,我在哪里可以找到有关它的任何有用信息?我在 magnolia 文档中进行了搜索,但没有找到任何相关信息。

一方面你说你想以编程方式创建你的模板,另一方面你说你想将所有内容都保存在 repo 中,那是哪一个?如果您想以编程方式在回购协议中创建一些配置,是的,这是可能的。但是 "how" 取决于 "when" 您实际上想要创建这些定义。

也许最简单的方法是使用 groovy 控制台或 groovy 脚本。为了让 Magnolia 识别您的模板定义,您需要将它们放在 /modules/<yourmodulename>/templates/<pages|components>/<pathtoyourtemplate> 中,并确保为每个模板定义提供您创建的应用程序所需的属性。您还应确保这些模板的节点类型为 mgnl:contentNode,而您在上面创建的任何文件夹的节点类型为 mgnl:content.

至于模板脚本,您需要将它们放在 templates 工作区中,不确定那个节点的类型,但您可以通过导出已经存在的节点类型来快速找到。对于您需要的所有其他资源,请将它们加载到 resources 工作区。

最后但同样重要的是,如果您希望所有内容都在回购协议中,您可以为您的模型使用 groovy classes。在创建模板定义时,为 modelClass 属性 指定完全限定名称,它指向 groovy 工作区中的 groovy class 而不是指向 java class.

HTH,
一月