Илиас не может найти целевой класс ilcommonactiondispatchergui (ilrepositorygui)

Я пытаюсь заставить плагин работать в Ilias (с помощью этого урока). Обновление и активация работали отлично, но когда я пытаюсь использовать его в существующем курсе, я получаю следующее сообщение об ошибке:

ОШИБКА: не удается найти целевой класс ilcommonactiondispatchergui для узла q7:uw (ilrepositorygui).

Я даже не могу войти в курс, где я добавил Пример Плагин больше.

Структура папок в Customizing/global/plugins/Services/Repository/RepositoryObject/Example должна быть правильной. Я также обновил номер версии до 5.0.999, чтобы использовать его с последней версией Ilias.

Любые идеи высоко ценятся.

1 ответ

Решение

Краткий ответ: В вашем основном классе GUI (вероятно, с именем что-то вроде ilObjExampleGUI) вам нужно добавить ilCommonActionDispatcherGUI как класс, который вызывается вашим классом GUI. Это будет выглядеть примерно так:

* @ilCtrl_Calls ilObjExampleGUI: OtherClassesCalledByilObjExampleGUI, ilCommonActionDispatcherGUI

Затем вам нужно увеличить версию вашего плагина, а затем обновить его в разделе плагинов в администрировании ILIAS, чтобы ваши изменения считывались и сохранялись в базе данных.

Объяснение: Ваш класс GUI, кажется, пытается вызвать ilCommonActionDispatcherGUI, используя ilCtrl. Однако ilCtrl не может найти соответствующее сопоставление вашего класса GUI (родительского) с дочерним классом (ilCommonActionDispatcherGUI) в таблице базы данных ctrl_calls. Эта таблица обновляется каждый раз, когда при обновлении плагина обнаруживается изменение аннотаций @ilCtrl_isCalledBy или @ilCtrl_Calls. Для получения дополнительной информации о потоке управления в ILIAS вы можете обратиться к соответствующей странице в руководстве по развитию на ilias.de.

Другие вопросы по тегам