我在 AEM 6.1的经典UI 中有一个项目,可以将默认的“拖动此处的组件或 Assets ”标签覆盖为自定义标签,就像这样:
String emptyText = currentStyle.get("cq:emptyText", "");if (StringUtils.isNotBlank(emptyText)) { editConfig.setEmpty(true); editConfig.setEmptyText(emptyText);}
现在,我可以通过/etc/designs/custom 结构进行设置,从而轻松自定义每个parsys的放置区域标签。因此,每个parsys基本上都明确地告诉作者它接受了哪种组件。除了parsys内传统组件的可用性之外,这还为编辑器处理具有许多不同段落(通常相互嵌套)的复杂页面结构增加了很大的值(value)。
现在,我正在使用带触摸UI的AEM 6.3,并且发生了很多变化,使我无法简单地移植上述解决方案。不幸的是,谷歌搜索问题并没有帮助,6.3非常新,有一些针对wcm/foundation/components/parsys和/或Foundation/components/parsys的较旧版本的解决方案,但对于最新版本则没有。有人解决过这个吗?
更新:我已经使用Classic UI解决方案创建了一个示例项目。因此,这里有new.jsp以及designs下的相应配置。当构建并部署到AEM 6.3时,可以在/content/enigmatic下对其进行检查并产生所需的行为:
最佳答案
上述方法不适用于Touch UI。 Adobe在其i18n文件中的"new"部分将其硬编码为“将组件拖到此处”。
替代解决方案:-
<sly data-sly-resource="${@path='par1',resourceType='mysite/components/parsys',selectors='par-1'}"/>
${request.requestPathInfo.selectors[0]}
102.
if (this.dom.hasClass("par-1")) {
return "Customized Text for Par 1";
}
if (this.dom.hasClass("par-2")) {
return "Customized Text for Par 2";
}
// New component placeholder
if (this.dom.hasClass(newComponentClass)) {
return newComponentPlaceholderText;
}
有关更多详细信息,请参阅:-
Detailed Help text Customization For parsys in Touch UI
关于adobe - 如何在AEM 6.3的Touch UI中更改parsys放置区域文本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45109265/