Magnolia CMS以编程方式创建页面/组件模板

时间:2015-03-29 14:30:16

标签: java content-management-system magnolia

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

是否可以使用标准模板工具包以编程方式创建玉兰花模板?如果是,我在哪里可以找到有关它的任何有用信息?我在玉兰花文献中搜索过,但我找不到任何相关内容。

1 个答案:

答案 0 :(得分:1)

一方面你说你想以编程方式创建你的模板,另一方面你说你想保留所有的回购,所以它是什么?如果你想在repo中以编程方式创建一些配置,是的,这是可能的。但“如何”取决于你何时想要创建这些定义的“何时”。

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

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

最后但同样重要的是,如果您希望所有人都在回购中,您可以为模型使用groovy类。就在创建模板定义时,为modelClass属性指定完全限定名称,该属性指向groovy工作空间中的groovy类,而不是指向java类。

HTH,