Way to implement generic content based module
Hi,
Hi Robert,
There is a method InstallPages that you can override and set the template that your backend pages will use
protected
override
void
InstallPages(SiteInitializer initializer)
var pageManager = initializer.PageManager;
var moduleNode = pageManager.GetPageNode(SiteInitializer.ModulesNodeId);
var id = ModulePageGroupId;
...
...
if
(modulePageGroup ==
null
)
modulePageGroup = initializer.CreatePageNode(ModulePageGroupId, moduleNode);
modulePageGroup.Name =
"CustomModule"
;
modulePageGroup.ShowInNavigation =
true
;
id =
this
.LandingPageId;
var landingPage = pageManager.GetPageNodes().SingleOrDefault(p => p.Id == id);
if
(landingPage ==
null
)
var pageInfo =
new
PageElement()
PageId =
this
.LandingPageId,
Name =
"CustomModule"
,
MenuName =
"ModuleTitle"
,
UrlName =
"CustomModuleUrlName"
,
Description =
"CustomModuleDescription"
,
HtmlTitle =
"CustomModuleHtmlTitle"
,
ResourceClassId = ResourceClassId,
IncludeScriptManager =
true
,
ShowInNavigation =
false
,
EnableViewState =
false
,
TemplateName = SiteInitializer.BackendTemplateName
;
var controlPanel =
new
BackendContentView()
ModuleName = CustomModule.ModuleName,
ControlDefinitionName = CustomModuleDefinitions.BackendDefinitionName
;
initializer.CreatePageFromConfiguration(pageInfo, modulePageGroup, controlPanel);
...