AEM JCR SQL2查询查找包含特定组件的所有页面

时间:2018-12-11 11:42:45

标签: sql xpath aem cq5 jcr

我希望构建一个sql2 jcr查询来查找/content下包含该组件的所有页面,例如/apps/platform/aem-core/components/content/form/form

我读了https://wiki.magnolia-cms.com/display/WIKI/JCR+Query+Cheat+Sheet,并尝试了以下类似操作

我当前的尝试类似于SELECT * from [cq:Page] AS t WHERE t.contains('/apps/platform/aem-core/components/content/form/form')

但是它不起作用。请为我推荐一个示例,以查找包含此组件的所有页面。谢谢

1 个答案:

答案 0 :(得分:0)

正如@awd在评论中提到的,QueryBuilder提供了更好的功能。

SQL2并不是那么糟糕,特别是对于那些倾向于RDBMS的人!

以下查询应使用组件resourceType获取所有页面路径。

  

SELECT * FROM [cq:PageContent]在哪里   ISDESCENDANTNODE(s,'/ content')和CONTAINS(s。[sling:resourceType],   '基础/组件/文本')

对于带有名称空间的属性,必须使用方括号,例如cq:template,sling:resourceType等