AEM:删除自动生成的div

时间:2016-01-25 21:32:34

标签: aem

我要包含这样的组件:

<c:forEach begin="0" end="${selectList-1}" varStatus="loopSubmenu">
<sling:include path="submenu_${loopSubmenu.index}" resourceType="aemdevcenter/components/content/global-header/submenu" />
</c:forEach>

并且为了摆脱自动生成的div,我在global.jsp

中包含了以下代码
<%

if (WCMMode.fromRequest(request) != WCMMode.EDIT && WCMMode.fromRequest(request) != WCMMode.DESIGN && WCMMode.fromRequest(request) != WCMMode.DISABLED && WCMMode.fromRequest(request) != WCMMode.PREVIEW) {
    IncludeOptions.getOptions(request, true).forceSameContext(Boolean.TRUE);                            
}

%>

但我仍然无法摆脱自动生成的div,这就是混乱的风格。有任何想法吗 ?我正在使用AEM 6.1

另外,当我尝试使用cq:noDecoration时,我失去了创作能力。

由于

2 个答案:

答案 0 :(得分:0)

在Global.jsp中包含以下代码,以便在预览模式下删除不需要的div:

value = ++*y + *y++;

有关详细信息,请查看此post

答案 1 :(得分:0)

Slice,直到其3.2版本,提供了一组taglib和功能,可以帮助您实现所需。标签'cog:include'具有参数'enableDecoration',允许删除装饰,例如:

<cog:include enableDecoration="${conditional}" path="some/path/" resourceType="my/component" />

其他选项,仍然使用slice 3.2是在组件节点中设置属性'cog:enableDecorationInModes',然后使用cog:include标签而不使用'enableDecoration'参数:

<cog:include path="some/path/" resourceType="my/component" />

不幸的是,此功能已从较新的切片版本中删除,但可以提取其代码并使用它。