问题后台操作按钮

2020-09-13 21:32发布

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

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


嗨,我尝试在后台添加新操作时遇到问题。

我正在使用混合动力 6.6 。 新操作称为" GenerateReportAction "。

这是我的 definition.xml ,它位于/bacoffice/resources/widgets/actions/generatereportaction

  
 
      生成报告
      生成新报告
       *** 
       0.1 
 
       com。 .backoffice.actions.GenerateReportAction 
 
       java.lang.Object 
       java.lang.Object 
 
      <!- icons/send_registration_invite.png 
       icons/send_registration_invite_disabled.png ->
  


  

这是我的新动作类文件。 此文件位于/backoffice/src/com/(公司)/backoffice/actions/GenerateReportAction.java

 包com。 .backoffice.actions;
 
 
  导入com.hybris.cockpitng.actions.ActionContext;
  导入com.hybris.cockpitng.actions.ActionResult;
  导入com.hybris.cockpitng.actions.CockpitAction;
  导入org.zkoss.zul.Messagebox;
 
 
  公共类GenerateReportAction实现CockpitAction  {
 
      @Override
      public ActionResult  perform(final ActionContext  ctx){
          ActionResult 结果= null;
          最终对象数据= ctx.getData();
          if(data!= null){
              结果=新的ActionResult (ActionResult.SUCCESS,ctx.getLabel(" action.generateSeoReport.confirm",新的Object [] {data}));
          }其他{
              结果=新的ActionResult (ActionResult.ERROR);
          }
          Messagebox.show(result.getData()+"(" + result.getResultCode()+")");
 
          返回结果;
      }
 
      @Override
      public boolean canPerform(final ActionContext  ctx){
          最终对象数据= ctx.getData();
          返回(String的数据instance)&&(!((String数据).isEmpty());
      }
 
      @Override
      public boolean needsConfirmation(final ActionContext  ctx){
          返回true;
      }
 
      @Override
      public String getConfirmationMessage(final ActionContext  ctx){
          返回ctx.getLabel(" action.generateSeoReport.sent");
      }
  }

  
 

最后,我将此代码添加到(backofficeExtension)-backoffice-config.xml

  
          
              
                   actiongroup.common 
                  
                  
                  
                  
              
          
      
 

  

当我转到该CustomReport listView时,可以在控制台中看到一条警告,提示" WARN [hybrisHTTP5] [Action]找不到代码[com。(company).backoffice.actions.GenerateReportAction]的操作定义。

怎么了? 在定义中是否需要iconUri才能看到按钮?

谢谢

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

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


嗨,我尝试在后台添加新操作时遇到问题。

我正在使用混合动力 6.6 。 新操作称为" GenerateReportAction "。

这是我的 definition.xml ,它位于/bacoffice/resources/widgets/actions/generatereportaction

  
 
      生成报告
      生成新报告
       *** 
       0.1 
 
       com。 .backoffice.actions.GenerateReportAction 
 
       java.lang.Object 
       java.lang.Object 
 
      <!- icons/send_registration_invite.png 
       icons/send_registration_invite_disabled.png ->
  


  

这是我的新动作类文件。 此文件位于/backoffice/src/com/(公司)/backoffice/actions/GenerateReportAction.java

 包com。 .backoffice.actions;
 
 
  导入com.hybris.cockpitng.actions.ActionContext;
  导入com.hybris.cockpitng.actions.ActionResult;
  导入com.hybris.cockpitng.actions.CockpitAction;
  导入org.zkoss.zul.Messagebox;
 
 
  公共类GenerateReportAction实现CockpitAction  {
 
      @Override
      public ActionResult  perform(final ActionContext  ctx){
          ActionResult 结果= null;
          最终对象数据= ctx.getData();
          if(data!= null){
              结果=新的ActionResult (ActionResult.SUCCESS,ctx.getLabel(" action.generateSeoReport.confirm",新的Object [] {data}));
          }其他{
              结果=新的ActionResult (ActionResult.ERROR);
          }
          Messagebox.show(result.getData()+"(" + result.getResultCode()+")");
 
          返回结果;
      }
 
      @Override
      public boolean canPerform(final ActionContext  ctx){
          最终对象数据= ctx.getData();
          返回(String的数据instance)&&(!((String数据).isEmpty());
      }
 
      @Override
      public boolean needsConfirmation(final ActionContext  ctx){
          返回true;
      }
 
      @Override
      public String getConfirmationMessage(final ActionContext  ctx){
          返回ctx.getLabel(" action.generateSeoReport.sent");
      }
  }

  
 

最后,我将此代码添加到(backofficeExtension)-backoffice-config.xml

  
          
              
                   actiongroup.common 
                  
                  
                  
                  
              
          
      
 

  

当我转到该CustomReport listView时,可以在控制台中看到一条警告,提示" WARN [hybrisHTTP5] [Action]找不到代码[com。(company).backoffice.actions.GenerateReportAction]的操作定义。

怎么了? 在定义中是否需要iconUri才能看到按钮?

谢谢

付费偷看设置
发送
2条回答
d56caomao
1楼-- · 2020-09-13 22:01

嗨,

据我所记得,您需要在后台配置的" action-id"中使用definition.xml中action-definition标记的" id"属性值。 现在您有了:

   
绿领巾童鞋
2楼-- · 2020-09-13 21:57

将backoffice-config.xml中的操作ID更改为您在definition.xml中声明的操作ID。

无法找到具有在configuration.xml文件中声明的ID的操作。

一周热门 更多>