我们在AEM 6.2中使用模板编辑器来创建模板,我们按照以下步骤创建模板 -
1.处理页面模板,如我们零售网站所做.2.使用上面的页面模板创建空页面模板.3.使用空页面模板处理模板.
根据我们的要求,我们在零售页面组件之上进行了以下修改 -
因为我们需要将页眉和页脚作为全宽度解析,即1340宽度和正文为940宽度 -
.site-wrapper {width:1340px; } .container {width:940px; }
所以我们在/apps//components/structure/page/partials/body.html中进行了以下修改 -
<div class="site-wrapper">
<div data-sly-resource="${ @ path='header', resourceType='/apps/<projectname>/components/structure/header'}"
data-sly-unwrap>
</div>
</div>
<div class="container"
data-sly-use.templatedContainer="com.day.cq.wcm.foundation.TemplatedContainer">
<sly data-sly-repeat="${templatedContainer.structureResources}"
data-sly-resource="${item.path @ resourceType=item.resourceType, decorationTagName='div'}" />
</div>
<div class="site-wrapper">
<div data-sly-resource="${ @ path='footer', resourceType='/apps/<projectname>/components/structure/footer'}" data-sly-unwrap></div>
</div>
Run Code Online (Sandbox Code Playgroud)
此外,我们还有更多的组件将占据页面的全宽,所以我在全宽div下添加了responsivegrid组件.
但我无法编辑模板中的页眉和页脚组件,因为它们不在templateresource下.
即使我在页眉和页脚下添加设计对话框,我也无法在设计模式下直接在页面上编辑这些组件,即使它们已解锁.
如果我在这里做错了或者我们不能像在我们的零售网站那样定制body.html,请告诉我.
我想过为全宽和身体使用不同的parsys.我不想控制使用CSS,因为我有多个全宽的组件.
关心Ankur
Gab*_*alt 12
首先,模板编辑器的目标恰恰是不执行任何静态包含,例如您在页面组件上编辑的内容,因为模板编辑器现在提供了一个UI以在页面级别包含此类组件,允许定义哪些包含的组件可以是作者在结果页面上编辑或不编辑.这样,如果某个页面突然需要另一个页眉或页脚,则可以通过模板编辑器的UI编辑它,并且不需要开发周期.
因此,我建议您删除body.html的编辑内容,而不是确保您的页眉和页脚组件是可编辑的:这意味着该cq:Component节点必须具有title(jcr:title),group(componentGroup)以及a cq:editConfig,a经典对话框或经典设计对话框(在6.2和之前,仍然需要经典对话框来使组件可编辑,但对于将来可能提供触摸对话框的未来版本将不再是这种情况).
进入后,以下是使用AEM 6.2中的模板编辑器UI设置站点的详细说明:
创建模板
目前,我们将在全局文件夹中创建模板,但稍后您必须确保所选文件夹特定于您的网站.
添加客户端库
让我们配置页面组件来加载我们网站所需的CSS和JS客户端库.
we-retail.base到其中.单击右上角的复选标记即可保存.添加结构组件
结构组件通常是通过页面组件上的静态包含进行硬编码的组件.除非明确定义,否则我们通常不希望页面作者稍后可以编辑结构组件.
componentGroup属性分配给组件的组名称" .确保选择了"布局容器"组件,因为这是我们稍后需要使页面可编辑的段落系统(也称为parsys).保存.使模板可编辑
我们现在必须指定我们希望页面作者能够编辑哪些组件.
使用模板
就是这样,我们现在可以启用模板并在网站上使用它.
cq:allowedTemplates在父页面上放置一个属性(通常,此属性将设置为站点的根页面).但是,要创建第一个根页面,我们最初只需/content使用CRXDE Lite 将该属性添加到节点.所以转到http:// localhost:4502/crx/de/index.jsp#/ content并在content根节点上设置cq:allowedTemplates多字符串属性,该属性等于"/conf/global/settings/wcm/templates/.*"(或您在模板中创建的任何文件夹).您现在应该看到具有已定义的页眉和页脚的页面,但只有两者之间的可编辑的解析.此外,所需组件应显示在第二个"组件"选项卡下的左侧导轨中.
创建模板类型
为了避免在每次想要创建新模板时重复所有这些步骤(主要是1-18),我们可以从我们创建的模板中创建模板类型.
/conf/global/settings/wcm/templates然后复制应该成为模板类型的模板,就像simple-page我们案例中的节点一样.template-types文件夹(例如/conf/global/settings/wcm/template-types在我们的例子中)并粘贴复制的节点.现在,在全局文件夹中创建模板时,可以选择"简单页面"作为起点.
正如您所看到的,模板编辑器引入了一个非常大的变化,不仅在技术上,而且在过程中:现在可以通过配置实现所需的开发步骤.因此,我建议仅编辑页面组件以适应技术HTML标题,但不要硬编码应该在页面上显示的任何可视项目,因为在几个月/几年内,视觉项目肯定会发生变化,将需要它们的多种变体,为此您希望减轻开发需求以允许更快的更改.
以下链接也很有帮助:
| 归档时间: |
|
| 查看次数: |
6992 次 |
| 最近记录: |