0

我正在创建一些 Magnolia 模板,想知道是否有人找到了一种方法来创建一个@cms.newBar并以某种方式使用一个节点作为可用段落的列表。语法如下:

 [@cms.newBar newLabel="Add Content" paragraph="template1, template2" /]

我想使用该节点来避免在创建新模板时返回并添加新模板。

我在这里看过文档,知道没有指定任何内容,但想看看是否有人找到了方法?

4

1 回答 1

3

你可以做几件事,都归结为相同的:

  • 在模板定义中配置一个包含“template1, template2”的字符串属性。假设您使用 Freemarker 作为模板语言,请使用${def.thatProperty}(def 引用您的模板定义) 引用它

  • 让您的模型类返回该值:${model.whatsCooking},其中您的模型类有一个String getWhatsCooking()返回“template1,template2”的方法(或您能想出的任何其他决定哪些段落应该可用的方法

  • STK做了类似于 (1) 的事情 - 它的模板定义包含Lists 的“可用”段落,并且它的模板使用一些实用方法将其转换为逗号分隔的列表,与新栏一起使用,所以类似于${stk.toStringList(def.main.paragraphs)}(I can'不记得确切的名称和语义,但你明白了要点)。

您也许应该考虑为此研究 STK,以及很多事情。

至于文档,在这种情况下,模板指南和其他文档可能比 javadoc/tlddoc 更有用。

高温下,

于 2012-05-27T16:38:10.880 回答