cmscockpit中子组件属性的同步

2020-09-02 19:33发布

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

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


嗨,我有一个父组件,其中有2-3个子组件。 在CMSCockpit中,如果我编辑父组件,然后对其进行同步,则更改将正确反映。 但是,如果我编辑子组件属性然后同步父组件,则子组件相关的更改不会同步。

有人可以为此提出建议吗?

谢谢Meera

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

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


嗨,我有一个父组件,其中有2-3个子组件。 在CMSCockpit中,如果我编辑父组件,然后对其进行同步,则更改将正确反映。 但是,如果我编辑子组件属性然后同步父组件,则子组件相关的更改不会同步。

有人可以为此提出建议吗?

谢谢Meera

付费偷看设置
发送
10条回答
半个程序猿
1楼 · 2020-09-02 20:02.采纳回答

不久前我们就知道了这一点,但我真的很想分享。

应该考虑在此值列表中添加一个Map-Key:

  
          
              <地图>
                  
                      <列表>
                          <!-摘要页->
                           AbstractPage.restrictions 
                           AbstractPage.contentSlots 
                           ContentSlotForPage.contentSlot 
                           ContentSlot.cmsComponents 
                          <!-AbstractCMSComponent->
                           AbstractCMSComponentContainer.simpleCMSComponents 
                           AbstractCMSComponentContainer.currentCMSComponents 
                           RotatingImagesComponent.banners 
                           AbstractCMSComponent.restrictions 
                           NavigationBarComponent.link 
                           AbstractFooComponent.abstractStuff 
                           BarComponent.paragraph 
                           FooComponent.buttons 
                          <!-CMSNavigationNode->
                           CMSNavigationNode.children 
                           CMSNavigationNode.entries 
                           CMSNavigationNode.links 
                           CMSNavigationEntry.item 
                           CMSLinkComponent 
                          媒体
                      
                  
              
          
      

  

首先,如果相关值发生变化,这会导致更好的反馈。 通常,还应在底部添加"媒体"或" CMSLinkComponent",如果这些项目包含在其他组件中,则会考虑进行同步。

我们可以以此解决许多CMS-Item-Dependency问题。 特别是,我们不需要在以前的" AbstractPage"和" AbstractCMSComponent" -Key中冗余声明依赖项。 (因为,如果您未在两个键中都声明它们,则AbstractPage将最有可能,但并不总是取决于使用情况,即win。原因是位于SynchronizationServiceImpl内部的cache-Map)

可能不需要包含CMSNavigationNode-Data,但这必须进行更详细的评估。

期待有关此解决方案的问题和反馈。

Cikesha
2楼-- · 2020-09-02 20:02

业务逻辑应放置在jalo类的createItem方法中。 对于折扣行(即),其基类PDTRow包含一段标记相关产品的逻辑,如下所示:

最终PDTRow结果=(PDTRow)super.createItem(ctx,type,allAttributes);
result.markProductModified();

何必丶何苦呢
3楼-- · 2020-09-02 20:07

为我解决。 您需要将项目添加到CMSSynchronizationService bean的特殊弹簧图中。

Spring文件(取决于您的座舱)位于此处:

  • /resources//cmscockpit/spring/cmscockpit-services.xml

  • /resources//productcockpit/spring/productcockpit-services.xml

微wx笑
4楼-- · 2020-09-02 19:58

嗨,您可以举一个代码块示例吗? 因为它不能解决我的问题。 谢谢。

一周热门 更多>