Виджет расширения бэк-офиса Hybris

введите здесь описание изображения

Это всплывающее окно синхронизации (com.hybris.backoffice.widgets.syncpopup.SyncPopupController), используемое для синхронизации каталогов. Я хочу изменить этот виджет OOTB, чтобы добавить множественный выбор вместо одного (прямо сейчас вы можете выбирать только один каталог за раз).

Как я могу этого добиться? Я не знаю, как расширить виджеты бэк-офиса.


person Nexussim Lements    schedule 18.02.2020    source источник


Ответы (1)


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">.

person user1234SI.    schedule 18.02.2020