在我们的暂存内容的 CMSCockpit 中,当任何组件更新时,其同步按钮会变成红色,但在与图 1 所示相同的情况下,同步按钮在页面级别保持绿色。但是,如果更新任何页面级别属性,同步按钮将变为红色。此外,如果单击同步按钮,则其子组件中发生的更新/更改不会同步。
这是预期的行为,如果不是,那么如何修复它,或者如果是,那么如何定制它?
提前致谢
最佳答案
如果我理解正确,那么您对嵌套同步有疑问。
您还需要在 synchronizationService
中添加子组件信息(如果有)。
打开cmscockpit-spring-services.xml
并检查您将看到一个名为synchronizationService
的bean。查看 OOTB RotatingImagesComponent 条目。 Hybris 在列表映射中添加了 RotatingImagesComponent.banners
,因为每当任何横幅属性发生更改时,它都应该得到反射(reflect)。
<alias alias="synchronizationService" name="defaultCMSSynchronizationService" />
<alias alias="defaultSynchronizationService" name="defaultCMSSynchronizationService" />
<bean id="defaultCMSSynchronizationService" class="de.hybris.platform.cmscockpit.sync.CMSSynchronizationService" scope="tenant" autowire="byName">
<property name="relatedReferencesTypesMap">
<map>
<entry key="AbstractPage">
<list>
<value>AbstractPage.restrictions</value>
<value>AbstractPage.contentSlots</value>
<value>ContentSlotForPage.contentSlot</value>
<value>ContentSlot.cmsComponents</value>
<value>AbstractCMSComponentContainer.simpleCMSComponents</value>
<value>AbstractCMSComponentContainer.currentCMSComponents</value>
<value>RotatingImagesComponent.banners</value>
<value>AbstractCMSComponent.restrictions</value>
<value>abstractMediaContainerComponent.media</value>
</list>
</entry>
<entry key="AbstractCMSComponent">
<list>
<value>AbstractCMSComponentContainer.simpleCMSComponents</value>
<value>AbstractCMSComponentContainer.currentCMSComponents</value>
<value>RotatingImagesComponent.banners</value>
<value>AbstractCMSComponent.restrictions</value>
<value>abstractMediaContainerComponent.media</value>
<value>MediaContainer.medias</value>
<value>NavigationBarCollectionComponent.components</value>
<value>NavigationBarComponent.navigationNode</value>
<value>NavigationBarComponent.link</value>
</list>
</entry>
<entry key="CMSNavigationNode">
<list>
<value>CMSNavigationNode.children</value>
<value>CMSNavigationNode.entries</value>
<value>CMSNavigationNode.links</value>
<value>CMSNavigationEntry.item</value>
<value>CMSLinkComponent</value>
</list>
</entry>
<entry key="ContentSlot">
<list>
<value>ContentSlot.cmsComponents</value>
<value>abstractMediaContainerComponent.media</value>
<value>NavigationBarCollectionComponent.components</value>
<value>NavigationBarComponent.navigationNode</value>
<value>NavigationBarComponent.link</value>
</list>
</entry>
<entry key="MediaContainer">
<list>
<value>MediaContainer.medias</value>
</list>
</entry>
</map>
</property>
<property name="searchRestrictionsDisabled" value="true"/>
</bean>
您需要在 cmscockpit-services.xml
中覆盖此 bean,以添加您的客户属性项条目。
关于sap-commerce-cloud - 页面级同步问题|杂种,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36791111/