如何自定义与AddOn一起使用的JSP页面?

问题描述 投票:0回答:1

我正在使用Hybris 6.2,我们有一个Addon,我们希望用它来自定义店面中的结账页面。开箱即用,这些页面将从我们看到的内容插入到另一个JSP中,并相应地更改为结帐过程的当前步骤。

我阅读了这个page的指南,但没有找到可以帮助我的东西。

我们尝试自定义AddPaymentMethodPage.jsp,因此我们将JSP复制到我们的AddOn,地址为acceleratoraddon / web / webroot / WEB-INF / views / responsive / pages / checkout / multi。

我们编译了我们的环境,我可以看到我们的插件中的JSP被复制到web / webroot / WEB-INF / views / addons / OUR ADDON / responsive / pages / checkout / multi的店面扩展。

但是我们的定制JSP没有在店面上使用。

我不知道如何告诉店面使用我们自定义的JSP而不是默认情况下在结账过程中设置的JSP,我检查了初始数据,但是没有这些JSP的映射,这是有意义的,ControllerConstants.java包含应该加载的页面的路径,对于AddPaymentMethodPage.jsp,定义如下:

interface Views
{
    interface Cms // NOSONAR
    {
        String ComponentPrefix = "cms/"; // NOSONAR
    }

    interface Pages
    {
        ...

        interface MultiStepCheckout // NOSONAR
        {
            ...
            String AddPaymentMethodPage = "pages/checkout/multi/addPaymentMethodPage"; // NOSONAR
            ...
        }
                   ...
    }
            ...
}

没有提到页面的加载位置,因此我决定从默认加载它,或者从其他地方加载AddOn。

我需要执行哪些配置才能完成此任务?

jsp add-on hybris
1个回答
1
投票

用于显示CMS页面的jsp的路径在属性“frontendTemplateName”的页面模板中配置。如果要更改它,请转到cmscockpit / hmc / backoffice,打开要自定义的页面模板,然后将frontendTemplateName更改为模板所在的位置。如果页面在插件内,则必须添加前缀“addon:”。所以在你的情况下,这将是:

插件:/ OUR_ADDON /页/结算/多/ AddPaymentMethodPage

比较以下类:

  • my.package.mystorefront.web.view.UiExperienceViewResolver
  • de.hybris.platform.cms2.servicelayer.services.impl.DefaultCMSPageService 特别是方法getFrontendTemplateName
© www.soinside.com 2019 - 2024. All rights reserved.