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,
一月
我想将所有设置、模板等保存在存储库中。所以最好将它放在单独的文件中。
是否可以使用标准模板工具包以编程方式创建 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,
一月