0

在此处输入图像描述

这是用于同步目录的同步弹出窗口 (com.hybris.backoffice.widgets.syncpopup.SyncPopupController)。我想修改这个 OOTB 小部件,以便添加多个选择而不是一个(现在,您一次只能选择一个目录)。

我怎样才能做到这一点?我不知道如何扩展后台小部件。

4

1 回答 1

2

您尝试修改的Listbox有一个名为multiple. 默认情况下,在初始化时这是错误的。小部件列表(因为有 2 个列表,一个用于 stage->online,一个用于 online->stage)在true创建小部件时没有设置此属性。唯一的initialize()方法是SyncPopupController用项目填充这些列表,仅此而已。

现在您知道了问题的根源,您可以阅读教程,该教程解释了如何扩展小部件mot-a-mot。一种解决方案可能是扩展原始控制器并在该initialize()方法中进行自定义配置。

这可能看起来像这样:

public class ExtendedSyncPopupController extends SyncPopupController
{
   public void initialize(Component component){
       super.initialize(component);
       super.getPullList().setMultiple(true);
       //etc.
   }
}

在此之后,您可以覆盖小部件定义(覆盖上面提供的教程中的小部件定义一章)并将您的自定义控制器类传入<controller class="ExtendedSyncPopupController">.

于 2020-02-18T13:24:45.163 回答