CMS Cockpit:尝试编辑不带contentSlot的CMSLinkComponent时发生异常

2020-09-17 03:44发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在6.6的CMS Cockpit...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


在6.6的CMS Cockpit中,我进入"导航"透视图并尝试编辑作为CMS链接组件的导航节点条目。 编辑器区域无法加载,并且我在日志中看到异常:

  ROR [Thread-840] [BaseUICockpitPerspective]项目无法激活。
  java.lang.IllegalArgumentException:值是instanceof Collection,但不能为键:contentSlots的空集合
          在de.hybris.platform.servicelayer.search.FlexibleSearchQuery.addQueryParameters(FlexibleSearchQuery.java:140)〜[coreserver.jar :?]
          在de.hybris.platform.servicelayer.search.impl.DefaultFlexibleSearchService.search(DefaultFlexibleSearchService.java:252)〜[coreserver.jar :?]
          在de.hybris.platform.servicelayer.internal.dao.AbstractItemDao.search(AbstractItemDao.java:68)〜[coreserver.jar :?]
          在de.hybris.platform.cms2.servicelayer.daos.impl.DefaultCMSPageDao.findPagesByContentSlotsAndPageStatuses(DefaultCMSPageDao.java:601)〜[cms2server.jar :?]
          在de.hybris.platform.cms2.servicelayer.daos.impl.DefaultCMSPageDao.findPagesByContentSlots(DefaultCMSPageDao.java:573)〜[cms2server.jar :?]
          在de.hybris.platform.cms2.servicelayer.services.impl.DefaultCMSPageService.getPagesForComponent(DefaultCMSPageService.java:685)〜[cms2server.jar :?]
          在de.hybris.platform.cmscockpit.services.security.impl.CMSCockpitUIAccessRightService.isObjectWritable(CMSCockpitUIAccessRightService.java:89)〜[cmscockpitserver.jar :?]
          在de.hybris.platform.cmscockpit.services.security.impl.CMSCockpitUIAccessRightService.isWritable(CMSCockpitUIAccessRightService.java:49)〜[cmscockpitserver.jar :?]
          在de.hybris.platform.cockpit.services.security.impl.DefaultUIAccessRightService.isWritable(DefaultUIAccessRightService.java:292)〜[cockpitserver.jar :?]
          在de.hybris.platform.cmscockpit.services.security.impl.CMSCockpitUIAccessRightService.isWritable(CMSCockpitUIAccessRightService.java:56)〜[cmscockpitserver.jar :?]
          在de.hybris.platform.cockpit.session.impl.AbstractEditorAreaController.isEditable(AbstractEditorAreaController.java:404)〜[cockpitserver.jar :?]
          在de.hybris.platform.cockpit.session.impl.DefaultEditorAreaController.resetSectionPanelModel(DefaultEditorAreaController.java:113)〜[cockpitserver.jar :?]
          在de.hybris.platform.cockpit.session.impl.DefaultEditorAreaListener.currentObjectChanged(DefaultEditorAreaListener.java:42)〜[cockpitserver.jar :?]
          在de.hybris.platform.cockpit.session.impl.EditorArea.fireCurrentObjectChanged(EditorArea.java:317)〜[cockpitserver.jar :?]
          在de.hybris.platform.cockpit.session.impl.EditorArea.setCurrentObject(EditorArea.java:556)〜[cockpitserver.jar :?]
          在de.hybris.platform.cockpit.session.impl.BaseUICockpitPerspective.activateItemInEditorArea(BaseUICockpitPerspective.java:333)[cockpitserver.jar :?]
          在de.hybris.platform.cmscockpit.session.impl.CmsCockpitPerspective.activateItemInEditorArea(CmsCockpitPerspective.java:189)[cmscockpitserver.jar :?]
          在de.hybris.platform.cockpit.session.impl.BaseUICockpitPerspective.activateItemInEditor(BaseUICockpitPerspective.java:389)[cockpitserver.jar :?]
          在de.hybris.platform.cmscockpit.navigationnode.browserarea.list.RelatedItemListRenderer $ 2.onEvent(RelatedItemListRenderer.java:109)[cmscockpitserver.jar :?]
          在org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:197)上[zk-3.6.4-hybris-patched.jar:3.6.4]
          在org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:141)上[zk-3.6.4-hybris-patched.jar:3.6.4]
          在org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:519)[zk-3.6.4-hybris-patched.jar:3.6.4]
          在org.zkoss.zk.ui.impl.EventProcessingThreadImpl.run(EventProcessingThreadImpl.java:446)上[zk-3.6.4-hybris-patched.jar:3.6.4]

  

如果我经过后勤办公室并为CMSLinkComponent实例分配了一个虚拟内容插槽,则CMS座舱中的editorArea可以很好地加载,但这显然不是期望或想要的。 在使用向导在导航透视图中创建新的CMS链接组件之后,也会发生这种情况。 CMSLinkComponentModel创建良好,但是在日志中看到了相同的错误,并且此后也未加载编辑器。

有什么想法吗?

3条回答
闻人可可
2020-09-17 04:14 .采纳回答

我们对嵌套组件也有类似的问题,我们通过重写DefaultCMSPageDao的findPagesByContentSlotsAndPageStatuses方法来修复此问题,以在没有内容插槽的情况下返回空列表。

一周热门 更多>