Я пытаюсь получить плагин для работы в Ilias (через это руководство). Обновление и активация работали отлично, но когда я пытаюсь использовать его в существующем курсе, я получаю следующее сообщение об ошибке:
ОШИБКА: не удается найти целевой класс ilcommonactiondispatchergui для узла q7: uw (ilrepositorygui).
Я даже не могу войти в курс, где я добавил Пример Плагин больше.
Структура папок в Customizing / global / plugins / Services / Repository / RepositoryObject / Example должна быть правильной. Я также обновил номер версии до 5.0.999, чтобы использовать его с последней версией Ilias.
Любые идеи высоко ценятся.
Краткий ответ: в вашем основном классе 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.
Других решений пока нет …