如何定制与插件一起使用的JSP页面?

如何定制与插件一起使用的JSP页面?,jsp,add-on,hybris,Jsp,Add On,Hybris,我正在使用Hybris 6.2,我们有一个插件,我们希望使用它来定制店面的结账页面。开箱即用,这些页面从我们看到的内容插入到另一个JSP中,并根据签出过程的当前步骤进行相应的更改 我读了这本书的指南,但还没有找到对我有帮助的东西 我们试图自定义AddPaymentMethodPage.jsp,因此我们将jsp复制到位于acceleratoraddon/web/webroot/web-INF/views/responsive/pages/checkout/multi的插件中 我们编译了我们的环境,

我正在使用Hybris 6.2,我们有一个插件,我们希望使用它来定制店面的结账页面。开箱即用,这些页面从我们看到的内容插入到另一个JSP中,并根据签出过程的当前步骤进行相应的更改

我读了这本书的指南,但还没有找到对我有帮助的东西

我们试图自定义AddPaymentMethodPage.jsp,因此我们将jsp复制到位于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,我检查了initialdata,但没有这些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
            ...
        }
                   ...
    }
            ...
}
没有提到从哪里加载页面,所以我决定从默认加载,或者从其他地方的插件加载


我必须执行什么配置才能完成此任务?

用于显示CMS页面的jsp路径在属性frontendTemplateName的页面模板中配置。如果要更改,请转到cmscockpit/hmc/backoffice,打开要自定义的页面模板,并将frontendTemplateName更改为模板所在的位置。如果页面位于加载项内,则必须添加前缀加载项:。因此,在您的情况下,这将是:

插件:/OUR_addon/pages/checkout/multi/AddPaymentMethodPage

比较以下类别:

my.package.mystorefront.web.view.UiExperienceViewResolver de.hybris.platform.cms2.servicelayer.services.impl.DefaultCMSPageService 尤其是getFrontendTemplateName方法
就是这样,当我们重写控制器时,我们引用了插件中的constants类,而不是storefront扩展中的默认类