玉兰@cms.newBar

Posted

技术标签:

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

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

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

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

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

【问题讨论】:

【参考方案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,

【讨论】:

以上是关于玉兰@cms.newBar的主要内容,如果未能解决你的问题,请参考以下文章

玉兰日志中的 AbstractFieldFactory 警告

玉兰@cms.newBar

玉兰花是如何完成请求映射的?

如何更好地控制玉兰花中的 URL?

请问这是啥花!在野外发现的,问问花的名字。谢谢!

王玉兰201771010128《面向对象程序设计(java)》第一周学习总结