我最近将开发站点从AEM 5.6迁移到了6.0。当我单击编辑图标时,在触摸UI模式下,加载空白页面时没有UI。此模式下的示例Url如下所示:localhost:4502 / editor.html / content / mypage.html
如果我将网址切换到经典内容搜索器,我的网页及其所有内容都会显示: 本地主机:4502 / CF#/内容/的mypage.html
如果我点击页面属性,这个URL加载并且它完全脱离了样式,是一个很长的AEM UI链接列表,包括我的用户设置 - 但没有页面设置。 本地主机:4502 /库/ WCM /核心/内容/位点/ properties.html /内容/我的空间
有没有人经历过这个? editor.html(Touch UI)是否需要cf#(Classic UI)不具有的一组不同的权限或页面属性?
答案 0 :(得分:9)
确保您的页面组件的sling:resourceSuperType设置为/ foundation / components / page。它将继承dialog和cq:dialog。这很可能会解决editor.html和页面属性问题。
答案 1 :(得分:1)
它只是来自其中一个adobe网站的复制粘贴,解释了Touch和Classic UI之间的差异
通过使用un:structured类型的节点定义为Touch UI构建的对话框。您可以通过设置节点的sling:resourceType属性来定义Touch UI对话框中的控件类型。例如,要在Touch UI对话框中定义文本字段,请将sling:resourceType属性设置为granite / ui / components / foundation / form / textfield。
注意: 构建Touch UI视图的对话框时,可以通过设置sling:resourceType属性来定义控件的类型(例如,文本字段)。相反,在为经典视图构建对话框时,可以通过设置其xtype属性来定义控件的类型。您可以在以下部分中设置这两个属性。有关所有Granite对象的列表,请参阅Granite Reference。
下图显示了本开发文章中创建的组件的JCR节点。
正如您在上图所示,有两个与组件对话框相关的JCR分支:
/应用/ mywebsite2 /组件/ herotext2 / CQ:对话 /应用/ mywebsite2 /组件/ herotext2 /对话框
开发AEM组件时需要这两个对话框。第一个分支定义Touch UI环境中使用的组件对话框。第二个分支定义AEM经典视图中使用的组件对话框。因此,要在两个AEM视图中使用该组件,您需要创建两个JCR节点分支。
所以...总结一下,如果你想让它们在两个UI上工作,你需要定义两个对话框。
答案 2 :(得分:1)
根据AEM 6.1略有变化。确保页面组件的 sling:resourceSuperType 设置为 wcm / foundation / components / page 。您需要将此属性添加到页面组件。它将继承dialog和cq:dialog。这很可能会解决editor.html和页面属性问题。希望它能够解决!