我尝试使用以下代码将组件包含在另一个组件中
<%
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(未找到)
我也没有在内容树下面看到任何资源。
有人可以对此有所了解吗?
谢谢, 斯
答案 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>