这是用于同步目录的同步弹出窗口 (com.hybris.backoffice.widgets.syncpopup.SyncPopupController)。我想修改这个 OOTB 小部件,以便添加多个选择而不是一个(现在,您一次只能选择一个目录)。
我怎样才能做到这一点?我不知道如何扩展后台小部件。
这是用于同步目录的同步弹出窗口 (com.hybris.backoffice.widgets.syncpopup.SyncPopupController)。我想修改这个 OOTB 小部件,以便添加多个选择而不是一个(现在,您一次只能选择一个目录)。
我怎样才能做到这一点?我不知道如何扩展后台小部件。
您尝试修改的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">
.