Я считаю, что лучшее для вас - взглянуть на один из существующих модулей и как они реализуют это. Вы можете скачать шаблон модуля здесь . Это для разработчиков на C #, но может помочь вам понять, как все работает. Хорошее начало для разработки модулей также находится здесь здесь , я настоятельно рекомендую прочитать его, поскольку в нем содержится идея о том, как следует разрабатывать модули для правильной работы.
Что касается IActionable
, посмотрите, например, на View.ascx.cs (который реализует интерфейс), в список действий модуля добавлено действие «Редактировать модуль»:
public ModuleActionCollection ModuleActions
{
get
{
ModuleActionCollection Actions = new ModuleActionCollection();
Actions.Add(GetNextActionID(), Localization.GetString("EditModule", this.LocalResourceFile), "", "", "", EditUrl(), false, SecurityAccessLevel.Edit, true, false);
return Actions;
}
}
Чтобы добавить больше действий в меню «Управление», просто добавьте новое действие в коллекцию «Действия», как в примере выше.
В частности, в вашем случае нет необходимости создавать 2 модуля, все может обрабатываться в одном модуле с несколькими элементами управления (view.ascx, edit.ascx, your_name.ascx, settings.ascx), которые отображаются на основе на действия, как описано выше.
Что касается настроек вашего модуля, это также объясняется в руководствах по модулю выше. Settings.ascx - это путь, просто добавьте свои собственные элементы управления в элемент управления Settings.ascx и реализуйте сохранение / загрузку этих настроек в своем классе YourModuleNameSettingsBase.cs. Шаблон модуля содержит некоторые закомментированные методы, которые делают именно то, что вам нужно.