Magnolia CMS,内容应用程序,从属性中命名节点
Posted
技术标签:
【中文标题】Magnolia CMS,内容应用程序,从属性中命名节点【英文标题】:Magnolia CMS, Content app, naming a node from a property 【发布时间】:2017-09-26 10:43:27 【问题描述】:我有一个内容应用程序,其中包含一个主要的唯一字段,我想将其用作新节点的节点名称。问题是它包含不能成为 JCR 节点名称一部分的字符,因此如果我将它链接到 jcrName 而不是自定义属性,它将被变异为对字段原始目的无用的东西(在其他,字段值将包含斜杠)。
我当前的解决方案为节点名称添加了一个额外的字段,虽然这确实有效,但它无缘无故地在细节中添加了一个 UI 字段,这对应用程序的用户来说是显而易见的。
有没有办法让一个字段读取和写入一个字符串值到一个自定义属性,但它也被用来(以它的清洁形式)来命名节点?
【问题讨论】:
【参考方案1】:您可以使用this 作为基础,特别注意2.b.ii 中的代码。 (尤其是 setNodeName),并忽略 yaml 位。
我希望这会有所帮助!
【讨论】:
在设置自定义节点名称时,您可能想使用 info.magnolia.jcr.util.NodeNameHelper#getValidatedName(删除非法字符)和 NodeNameHelper#getUniqueName(避免重复)。以上是关于Magnolia CMS,内容应用程序,从属性中命名节点的主要内容,如果未能解决你的问题,请参考以下文章
Magnolia CMS Content App 多值和复合字段错误