cq包括不工作,404错误

时间:2016-12-08 22:49:56

标签: cq5 aem

我尝试使用以下代码将组件包含在另一个组件中

<%
String fakePath = resource.getPath() + "/nav-tabs";
%>
<cq:include path="<%=fakePath%>" resourceType="ven/components/navMenu"/>

当我打开网站页面并尝试编辑组件以创作数据时,浏览器控制台中出现以下错误,无法看到组件对话框。

  

widgets.js:3318 GET   http://localhost:4502/content/ven/global/en/testPage/jcr:content/nav-tabs.infinity.json?_dc=1481236797569   404(未找到)

我也没有在内容树下面看到任何资源。

有人可以对此有所了解吗?

谢谢, 斯

1 个答案:

答案 0 :(得分:1)

看起来您将此组件直接放在页面上,因为resource.getPath()在您的情况下返回http://localhost:4502/content/ven/global/en/testPage/jcr:content。您可以在创建页面时使用页面模板创建初始内容。

对于组件,您可以使用cq:template resource:

只需在组件下放置cq:template资源即可。一旦添加新组件,它应该将其内容复制到您的资源中(类似于页面模板)

在您的情况下:_cq_template.xml:

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:sling="http://sling.apache.org/jcr/sling/1.0"
      jcr:primaryType="nt:unstructured">
    <nav-tabs
        jcr:primaryType="nt:unstructured"
        sling:resourceType="ven/components/navMenu"/>
</jcr:root>