如何强制使用自定义插件中的Controller代替OOTB Controller?

2020-09-24 14:51发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在使用Hybris 6.3,我们使用modulegen生成了一个店面,并在其中安装了b2bacceleratoraddon。

我们需要将功能更改为SummaryCheckoutStepController,因此我在本指南,并将SummaryCheckoutStepController从b2bacceleratoraddon复制到了我在acceleratoraddon/web/src/mypackage/controllers/pages/checkout/steps中的插件。 同样在resources/myaddon/web/spring/内部,我复制了文件multi-step-checkout-config.xml,并将其保留为以下内容:

  <?xml version =" 1.0" encoding =" UTF-8"?>
  <!-
   [y] hybris平台
 
   版权所有(c)2017 SAP SE或SAP关联公司。 版权所有。
 
   该软件是SAP的机密和专有信息
   ("机密信息")。 您不得透露此类机密信息
   信息,并且仅应按照以下条款使用
   您与SAP签订的许可协议。
  ->
  
         
      
     
      
     
      <!-结帐步骤->
 
      
      
          
          
          
              
                  
                  << entry key =" current" value-ref =" REDIRECT_TO_SUMMARY"/>
                  << entry key =" next" value ="重定向:/checkout/orderConfirmation/%s"/>
              
          
          
      
     
      <!-结帐步骤->
     
  

  

我将插件安装到店面中并进行了所需的更改,我清理了所有文件,并在启用调试参数的情况下启动了Hybris服务器。

我在插件中修改的控制器中放置了一个断点,但是当我输入订单摘要时,将执行b2bacceleratoraddon中的控制器,而不是我的控制器。

我的实现错误吗? 不应该使用我插件中的控制器吗?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在使用Hybris 6.3,我们使用modulegen生成了一个店面,并在其中安装了b2bacceleratoraddon。

我们需要将功能更改为SummaryCheckoutStepController,因此我在本指南,并将SummaryCheckoutStepController从b2bacceleratoraddon复制到了我在acceleratoraddon/web/src/mypackage/controllers/pages/checkout/steps中的插件。 同样在resources/myaddon/web/spring/内部,我复制了文件multi-step-checkout-config.xml,并将其保留为以下内容:

  <?xml version =" 1.0" encoding =" UTF-8"?>
  <!-
   [y] hybris平台
 
   版权所有(c)2017 SAP SE或SAP关联公司。 版权所有。
 
   该软件是SAP的机密和专有信息
   ("机密信息")。 您不得透露此类机密信息
   信息,并且仅应按照以下条款使用
   您与SAP签订的许可协议。
  ->
  
         
      
     
      
     
      <!-结帐步骤->
 
      
      
          
          
          
              
                  
                  << entry key =" current" value-ref =" REDIRECT_TO_SUMMARY"/>
                  << entry key =" next" value ="重定向:/checkout/orderConfirmation/%s"/>
              
          
          
      
     
      <!-结帐步骤->
     
  

  

我将插件安装到店面中并进行了所需的更改,我清理了所有文件,并在启用调试参数的情况下启动了Hybris服务器。

我在插件中修改的控制器中放置了一个断点,但是当我输入订单摘要时,将执行b2bacceleratoraddon中的控制器,而不是我的控制器。

我的实现错误吗? 不应该使用我插件中的控制器吗?

付费偷看设置
发送
2条回答
Nan4612
1楼 · 2020-09-24 15:08.采纳回答

您需要创建一个新地图,您必须将自定义jsp页面映射到该新地图,并且需要为自定义控制器定义bean,如下所示,位于自定义加速器-web-spring.xml

  <属性名称=" view *** Map" ref =" *** B2bAcceleratorAddonViewMap"/>
  
 
  
      
  
 
  
      
     
  

  
      << entry key =" viewName" value ="/img/pages/checkout/multi/checkoutSummaryPage"/>
  

  <!-控制器和映射(必须覆盖目标店面中具有相同映射的控制器)->
 
  
  
SAP小黑
2楼-- · 2020-09-24 15:31

嗨,

是否可以为插件中的现有类型扩展ComponentController? 例如ProductReferencesComponentController

一周热门 更多>