Properties 确定是否为JCR属性启用了i18n

Properties 确定是否为JCR属性启用了i18n,properties,internationalization,jcr,magnolia,Properties,Internationalization,Jcr,Magnolia,如果我手头只有jcr属性名,如何访问相应的FieldDefinition。 是否有任何需要的功能,例如通过jcr属性名查找字段定义?如果没有,我将如何访问java代码中配置的字段定义 场景:我需要确定,给定的jcr属性名称是否在定义中配置为支持i18n的字段?答案是,您永远无法确定属性在上次编辑时是否配置为支持i18n(或具有任何其他特征),因为定义可能会在之后发生更改 然而,要实现您想要的(获得定义),您需要做的是: 获取相关属性的父节点 获取其mgnl:template属性的值。这是您的模板

如果我手头只有jcr属性名,如何访问相应的FieldDefinition。 是否有任何需要的功能,例如通过jcr属性名查找字段定义?如果没有,我将如何访问java代码中配置的字段定义


场景:我需要确定,给定的jcr属性名称是否在定义中配置为支持i18n的字段?

答案是,您永远无法确定属性在上次编辑时是否配置为支持i18n(或具有任何其他特征),因为定义可能会在之后发生更改

然而,要实现您想要的(获得定义),您需要做的是:

  • 获取相关属性的父节点
  • 获取其
    mgnl:template
    属性的值。这是您的
    模板ID
  • 使用
    templateId
    从注册表中获取模板
  • 读取模板的dialog属性值,即您的
    dialogId
  • 使用
    对话框ID
    从注册表中获取对话框
  • 扫描对话框中的选项卡,以查找具有已开始使用的jcr属性名称的属性定义

  • 您有权访问info.magnolia.ui.form.definition.FormDefinition吗?