【问题标题】:Accessing AEM Dialog Field Options From Template Dialog从模板对话框访问 AEM 对话框字段选项
【发布时间】:2017-08-10 00:55:47
【问题描述】:

我有兴趣获取给定模板组件的可用选项。 我对对话框中的值不感兴趣,而是对话框中指定的所有可能字段(继承的和特定于组件的)(无论它们当前是否具有值)。我该怎么做?

我能够访问组件的dialog 节点并手动迭代和过滤(查找具有namefieldLabel 的节点)。

但我一直坚持从基本页面组件 (/libs/wcm/foundation/components/page) 组件的经典 UI 对话框选项中获取继承的对话框属性,因为对话框选项位于诸如 /libs/wcm/foundation/components/page/v1/page/tab_basic.infinity.json 之类的文件中。这些文件似乎并不存在于 AEM 中的那个位置,那么它们到底在哪里?

最后,我想指定一个模板组件,并以 List 或 Hash 的形式返回所有可能的对话框字段。

【问题讨论】:

    标签: java aem sling


    【解决方案1】:

    您可以让 AEM 让您处理繁琐的工作,方法是通过 HTTP 请求使用 .overlay.infinity.json 处理您的对话,使用本机 Sling JSON api 解析 JSON 并迭代生成的 JSONObject 树。

    【讨论】:

    • 这几乎正是我想要的,但它没有递归地包含cqinclude 选项(see here for the foundation base page。然而,这让我陷入了一个很好的兔子洞,所以谢谢
    • 我希望一个魔术选择器能够递归地包含所有内容,但似乎需要多次调用才能获取cqinclude 对话数据。即使您打开 OOTB 页面属性,如果您查看浏览器网络选项卡,也会有多个调用
    • 这只是一个建议......但是你检查了资源合并 API 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 2023-03-14
    相关资源
    最近更新 更多