我希望构建一个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')
但是它不起作用。请为我推荐一个示例,以查找包含此组件的所有页面。谢谢
答案 0 :(得分:0)
正如@awd在评论中提到的,QueryBuilder
提供了更好的功能。
SQL2
并不是那么糟糕,特别是对于那些倾向于RDBMS的人!
以下查询应使用组件resourceType获取所有页面路径。
SELECT * FROM [cq:PageContent]在哪里 ISDESCENDANTNODE(s,'/ content')和CONTAINS(s。[sling:resourceType], '基础/组件/文本')
对于带有名称空间的属性,必须使用方括号,例如cq:template,sling:resourceType等