0

我正在使用如下查询构建器来获取在属性中使用组件(组件名称将作为参数传递)的不同页面的列表。我需要传递两个参数cq:lastReplicationAction=Activatesling:resourceType=component路径。我尝试了上面的 JSON 查询,但没有结果,它失败了,因为该组件可以在任何级别的页面节点上使用。例如,/jcr:content/par/component/jcr:content/par/mainpar/component

https://host:port/bin/querybuilder.json?1_property=sling:resourceType&1_property.value=COMPONENTPATH&2_property=jcr:content/cq:lastReplicationAction&2_property.value=Activate&path=FROM_WHICH_CONTENT_PATH&type=cq:Page&p.limit=-1

4

2 回答 2

4

组件放置在页面的 par 节点下,Replication 属性是页面 JCR 节点的一部分。这就是您的查询返回 0 结果的原因。试试这个查询:

http://localhost:4502/bin/querybuilder.json?1_property=jcr:content/par/*/sling:resourceType&1_property.value=<Component-Path>&2_property=jcr:content/cq:lastReplicationAction&2_property.value=Activate&path=<BASE-Content-Path>&type=cq:Page&p.limit=-1

我使用以下属性来查找组件:jcr:content/par/*/sling:resourceType如果您的 par 节点具有不同的名称,则使用正确的 par 节点名称。

于 2016-01-28T01:50:40.653 回答
0

xpath 查询可用于获取使用组件的页面。

使用http://AEM-AUTHOR-HOST/crx/de/index.jsp转到 CRXDELight ,打开工具 -> 查询。将查询放入查询框中:

/jcr:root/content//*[jcr:contains(@sling:resourceType, 'COMPONENT_NAME/PATH')] order by @jcr:score

如果您知道组件的确切路径,请使用以下查询。

/jcr:root/content//*[@sling:resourceType =  'COMPONENT_PATH'] order by @jcr:score 

它将返回正在使用您的组件的内容节点的路径列表。您可以先拆分每个路径/jcr:content以获得准确的页面路径。

于 2018-01-03T21:10:07.923 回答