在我们的 CMSCockpit 中,当任何组件更新时,其同步按钮会变为红色,但同步按钮会变为红色,但同步按钮在页面级别保持绿色,与图中所示的情况相同。但是,如果更新了任何页面级属性,则同步按钮将变为红色。此外,如果单击同步按钮,则其子组件中发生的更新/更改将不会同步。
这是预期的行为,如果没有那么它是如何修复的,或者如果是,那么如何定制呢?
提前致谢
答案 0 :(得分:1)
如果我理解正确,则存在嵌套同步问题。
您还需要在synchronizationService
中添加子组件信息(如果有)。
打开cmscockpit-spring-services.xml
并检查您是否会看到以synchronizationService
命名的bean。看看OOTB RotatingImagesComponent条目。 Hybris在列表映射中添加了RotatingImagesComponent.banners
,因为每当任何banner属性发生变化时,它都会被反映出来。
<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以添加您的客户属性项条目。