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

时间:2016-02-25 07:04:56

标签: redirect mobile sap hybris

我有一个Hybris安装,我的团队已经在所有页面/标签/片段/视图的桌面版本中开发了所有内容。

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

我的问题是,当我在移动设备/模拟器中打开网站时,会调用页面的移动路径,最后返回404。

关闭此自动重定向功能可以做些什么.. ??

任何想法......?

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

我正在研究b2c telco频道

4 个答案:

答案 0 :(得分:1)

首先,它不是自动重定向,而是在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

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

答案 1 :(得分:1)

添加:

# 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体验级别。 注:在更改生效之前,您需要清除移动设备上的缓存/ cookie。

答案 2 :(得分:0)

重定向机制是通过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>
    
  4. 这会将所有移动视图重定向到桌面jsp页面。

    El jaoujat

答案 3 :(得分:0)

如果您有权访问hybris wiki,请检查以下网址:

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