AEM明显包括from/etc/Design

AEM明显包括from/etc/Design,aem,sightly,Aem,Sightly,我对AEM有点陌生,很惊讶。我已经编写了一个“页面”组件来容纳我的页面内容。我在/etc/designs/myapp下有许多具有不同CSS的设备,如下所示: /etc/designs/myapp - /128/style.css - /240/style.css 等等 回到我的页面组件中,我有许多不同的HTML文件,我使用这些文件通过一个选择器触发正确的CSS。例如: /apps/myapp/components/page - 128.html - 240.html 这些文件的目的是包含HT

我对AEM有点陌生,很惊讶。我已经编写了一个“页面”组件来容纳我的页面内容。我在
/etc/designs/myapp
下有许多具有不同CSS的设备,如下所示:

/etc/designs/myapp

- /128/style.css
- /240/style.css
等等

回到我的页面组件中,我有许多不同的HTML文件,我使用这些文件通过一个选择器触发正确的CSS。例如:

/apps/myapp/components/page

- 128.html
- 240.html
这些文件的目的是包含HTML
部分,CSS作为内联样式(由于设备限制,无法链接到外部CSS)

我遇到的问题是,如果我将128/style.css放在组件本身中,include就可以工作。如果我把它放在
/etc/designs/myapp
下,我就无法将它正确地包含进去。我尝试过使用
${currentDesign.path@appendPath='/128/style.css'}
并且尝试过显式引用整个路径

下面是页面组件下128.html的示例:

<html>
<head><!--/*
    */--><div data-sly-include="/libs/wcm/core/components/init/init.jsp" data-sly-unwrap></div><!--/*
    */-->

    <title>${currentPage.title}</title>
        <div data-sly-unwrap data-sly-include="/etc/designs/myapp/128/style.css"></div>
</head>
<body class="main" role="document" data-sly-include="body.html"></body>
</html>

${currentPage.title}
我意识到我需要一个
部分来包装任何包含的CSS,但现在,我只是想从
/etc/designs
中获得一个包含的页面


如有任何帮助,将不胜感激。

根据数据的定义,我们将包括:

数据包括:当主机元素的内容被其相应的模板引擎处理时,用指定的HTML模板文件(Sightly、JSP、ESP等)生成的标记替换主机元素的内容。所包含文件的呈现上下文将不包括当前上下文(所包含文件的);因此,为了包含Sightly文件,必须在包含的文件中重复当前的数据sly使用(在这种情况下,通常最好使用数据sly模板和数据sly调用)

它并不用于您尝试执行的包含类型,因为您没有调用任何渲染器。我认为您应该使用客户端库,并且只包含CSS文件,以下是关于此的文档:

您应该为每个样式定义一个客户端库类别,并在需要时使用


希望这有帮助。

从数据的定义来看,包括:

数据包括:当主机元素的内容被其相应的模板引擎处理时,用指定的HTML模板文件(Sightly、JSP、ESP等)生成的标记替换主机元素的内容。所包含文件的呈现上下文将不包括当前上下文(所包含文件的);因此,为了包含Sightly文件,必须在包含的文件中重复当前的数据sly使用(在这种情况下,通常最好使用数据sly模板和数据sly调用)

它并不用于您尝试执行的包含类型,因为您没有调用任何渲染器。我认为您应该使用客户端库,并且只包含CSS文件,以下是关于此的文档:

您应该为每个样式定义一个客户端库类别,并在需要时使用

希望这有帮助