【发布时间】:2018-10-02 20:04:29
【问题描述】:
我正在 AEM 6.3 中开发页面。现在我有一个情况来开发一个包含 2 个链接的页面,这些链接分别浏览到下一页和上一页与当前页面。假设我的项目站点 /content/project/en 下有 3 个页面。
- A页
- 页面 B
- C页
假设,如果我在Page B,那么我的下一页应该是Page C,上一页应该是Page A .这两个链接(下一个/上一个)应该将我重定向到 Page A 和 Page B。
可能有很多方法可以做到这一点,但我想到的是,我将发出一个 ajax get 请求,它将以键/值格式返回我的下一页和上一页。为此,我将使用 sling servlet 对象来获取页面路径,并使用查询构建器在该路径上进行查询以获取下一页和上一页。如果页面数量非常有限,则此方法可以正常工作,但如果页面增加,则会很耗时。
我想要简单的解决方案来实现这一点。或者 aem 中是否有任何插件可以做到这一点?我也尝试过使用 currentPage.nextSibling() 来做到这一点,但 aem 中不存在这样的东西。
【问题讨论】:
-
你可以使用 page.listChildren() helpx.adobe.com/experience-manager/6-3/sites/developing/using/… 然后在页面间移动
-
是的可以使用它,但我必须在每个页面上迭代 page.listChildren()。如果我没记错的话,那也很耗时。
-
@JunaidZubair nope,
listChildren()在这种情况下会比查询更快,因为您只列出第一级子级。请参阅最佳实践中概述的 when to use JCR queries。 -
@JunaidZubair 您的页面最终将被缓存在调度程序中。因此,如果路径设置正确,这将是每次缓存创建的一次活动。