如何在 SAP Hybris 中关闭重定向到移动页面

How do I turn off redirect to mobile pages in SAP Hybris

我安装了 Hybris,我的团队开发了所有 pages/tags/fragments/views 的桌面版本。

现在我的 CSS 团队说他们可以通过 CSS 处理响应,但桌面版本需要成为要调用的页面。

我的问题是,当我在 mobile/emulator 中打开网站时,页面的移动路径被调用,最终返回 404。

如何关闭此自动重定向功能..??

有什么想法吗?

我已经检查了 hmc 并关闭了手机频道,但这仅适用于电子产品和服装。

我在 b2c 电信渠道工作

重定向机制是通过 spirngMVC 的视图解析器实现的,您应该可以在前端扩展名下的 spring-mvc-config.xml 文件中找到它。

要关闭重定向,您应该:

  1. 打开文件并查找 ID 为 viewResolver 和
  2. 的 bean
  3. uiExperienceViewPrefix属性更改为

              <property name="uiExperienceViewPrefix">
                    <map>
                        <entry key="DESKTOP" value="desktop/"/>
                        <entry key="MOBILE" value="desktop/"/>
                    </map>
                </property>
    

这会将所有移动视图重定向到桌面 jsp 页面。

El jaoujat

首先,这不是自动重定向,而是在 Hybris 中实现 InternalResourceViewResolver 的方式,如果您想摆脱此功能,可以更新 "com.yourAcceleratorPackahe.storefront.web.view.UiExperienceViewResolver" :

public String getViewName(final UiExperienceLevel uiExperienceLevel, String viewName)
{
    final String prefix = getUiExperienceViewPrefix().get(uiExperienceLevel);
    if (prefix != null)
    {
        if (viewName.startsWith(AbstractPageController.PAGE_ROOT + "addon:"))
        {
            viewName = viewName.replace(AbstractPageController.PAGE_ROOT + "addon:", "addon:"); // ...pages/addon:/<extension-name>/.../<component-view>....->....addon:/<extension-name>/.../<component-view>
        }

        if (viewName.startsWith("addon:"))
        {
            viewName = viewName.replace("addon:", ""); // ................................addon:/<extension-name>/cms/<component-view>....->..../<extension-name>/cms/<component-view>
            viewName = viewName.substring(1, viewName.length()); // ....................../<extension-name>/cms/<component-view>..........->....<extension-name>/cms/<component-view>
            final String extensionName = viewName.substring(0, viewName.indexOf('/')); // <extension-name>/cms/<component-view>...........->....<extension-name>
            viewName = viewName.substring(viewName.indexOf('/'), viewName.length()); // ..<extension-name>/cms/<component-view>...........->..../cms/<component-view>
            return getAddOnPrefix() + "/" + extensionName + "/" + prefix + viewName; // ..<addon-prefix>/<extension-name>/<ui-prefix>/cms/<component-view>
        }
        return prefix + viewName;
    }
    return getUnknownUiExperiencePrefix() + viewName;
}

我会这样配置 'youStoreFrontExtension/web/webroot/WEB-INF/config/spring-mvc-config.xml' 文件:

<property name="uiExperienceViewPrefix">
    <map>
        <entry key="DESKTOP" value="${commerceservices.default.desktop.ui.experience:desktop}/"/>
        <entry key="MOBILE" value="${commerceservices.default.mobile.ui.experience:desktop}/"/>
    </map>
</property>
<property name="unknownUiExperiencePrefix" value="${commerceservices.default.desktop.ui.experience:desktop}/"/>

和你local.properties这样:

commerceservices.default.desktop.ui.experience=desktop
commerceservices.default.mobile.ui.experience=desktop

在最新版本的加速器下,您有一个响应式视图文件夹,如果您正在使用它,您应该将桌面更改为响应式。

如果您可以访问 hybris wiki,您应该检查以下内容 URL:

https://wiki.hybris.com/display/forum/Turning+off+mobile+site+ui+experience

添加这个:

# Disables the mobile version of the site. This can be made site specific like this:
# uiexperience.level.supported.b2ctelco=DESKTOP
uiexperience.level.supported=DESKTOP

到您店面扩展的 project.properties 文件。

它告诉 Hybris 您只想支持桌面 ui 体验级别。 N.B。在更改生效之前,您需要清除移动设备上的 cache/cookies。