访问组件内的组件

时间:2014-07-14 15:42:55

标签: cq5

我创建了一个cq:page类型的页面。我在此页面的jcr:content节点下有一个组件nt:unstructured类型,并指向应用中的组件位置。

我在这个组件中硬编码了一个组件。现在,我无法访问第二个组件中的节点。我需要使用ResourceResolver设置节点的属性(在第二个组件中) - 如何访问第二个组件中的节点?

1 个答案:

答案 0 :(得分:1)

因为您在组件A内部对组件B进行了硬编码,所以您还可以静态地定义其相对于A的路径。

据推测,您正在使用<cq:include>将组件B嵌入到组件A中。 其中两个可能的属性是pathresourceType。在这种情况下,路径是包含的组件在创建时将具有的相对路径。

因此,如果组件A的JSP包含:

<!--Some component A content here -->

<cq:include path="inner" resourceType="myProject/components/content/componentB"/>

<!-- Some more component A content -->

任何时候资源类型为&#34; componentA&#34;的节点创建后,它将创建一个子节点,该子节点具有指向&#34;内部&#34;的组件A的相对路径。 (资源类型为componentB)。

即。如果您的案例中的外部组件位于/content/mysite/mypage/jcr:content/componentA,那么在给定上述代码的情况下,内部组件将位于/content/mysite/mypage/jcr:content/componentA/inner