0

有什么方法可以在不使用 OSGI 服务的情况下获取 CRX 内容?我正在寻找一个用例来实现网站的顶部导航,该网站需要通过 Angular JS 等 javascript 框架读取页面名称及其属性。

4

2 回答 2

1

您可以将其作为 JSON 或 XML 获取,使用扩展名 XML 或 JSON 对路径进行服务器调用。JSON 允许您基于深度的选择器沿着树层次结构向下移动,不确定它是否与 XML 相同。 /my/page/path.xml或者/my/page/path.<depth>.json,您可以从请求 URI 中获取主机名和端口详细信息,以生成数据调用的完整 URL。

于 2016-09-08T13:46:38.293 回答
0

我建议您使用 sling 提供的以下 JSON API 来完成获取页面名称及其属性的任务。

首先要爬取给定路径下的所有页面,您需要使用 .pages.json 选择器。例如,要获取 /content/company/en_US 的所有子页面,请执行 JSON GET

HTTP GET <Host>/content/company/en_US.pages.json

接下来对于上面 GET 调用返回的每个路径,你需要抓取页面的 _jcr_content.json

(例如)

HTTP GET <Host>/content/company/en_US/home/_jcr_content.json

上面的 JSON 调用应该为您提供此特定页面的所有页面属性。

请注意:上述方法是通用的,可以应用于托管在 Sling/AEM 中的任何 JCR 路径。此外,由于安全规则可能会阻止 JCR 爬网,通常您无法在发布者环境中获得此级别的 JCR 访问权限。希望这可以帮助

于 2016-09-08T14:05:00.770 回答