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 创建自定义类型的内容?

Magnolia CMS 中自定义内容类型的链接

Magnolia Cms Oracle 持久性

Magnolia CMS Content App 多值和复合字段错误

如何在 Magnolia CMS 的本地系统中存储资产和网站内容?

如何在 Magnolia CMS 中向登录用户显示页面的某些内容部分