【问题标题】:Magnolia @cms.newBar玉兰@cms.newBar
【发布时间】:2012-05-24 05:45:22
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: magnolia


    【解决方案1】:

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

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

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

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

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

    至于文档,在这种情况下,the templating guide 和其他文档可能会比 javadoc/tlddoc 更有用。

    HTH,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-29
      • 1970-01-01
      • 2015-05-22
      • 1970-01-01
      • 2018-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多