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

时间:2017-05-30 15:15:59

标签: properties internationalization jcr magnolia

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

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

1 个答案:

答案 0 :(得分:1)

答案是,您可以永远不确定属性是否在上次编辑时被配置为i18n-able(或具有任何其他特征),因为定义可能已更改。

然而,为了达到你想要的(获得定义),你需要做的是:

  1. 获取相关媒体资源的父节点,
  2. 获取它的mgnl:template属性的值。这是你的templateId
  3. 使用templateId从注册表中获取模板
  4. 读取模板的对话框属性的值,即dialogId
  5. 使用dialogId从注册表中获取对话框
  6. 扫描对话框中的选项卡,以查找具有您已用
  7. 开头的jcr属性名称的属性定义