页面级同步问题|采用hybris

时间:2016-04-22 10:19:50

标签: hybris

在我们的 CMSCockpit 中,当任何组件更新时,其同步按钮会变为红色,但同步按钮会变为红色,但同步按钮在页面级别保持绿色,与图中所示的情况相同。但是,如果更新了任何页面级属性,则同步按钮将变为红色。此外,如果单击同步按钮,则其子组件中发生的更新/更改将不会同步。

http://i.stack.imgur.com/QDkDA.png

这是预期的行为,如果没有那么它是如何修复的,或者如果是,那么如何定制呢?

提前致谢

1 个答案:

答案 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以添加您的客户属性项条目。