Programatically updating admin menu and creating groups?
I've created a custom pluggable module and added it to the administration menu using the following code (straight from an example) but one thing I cant seem to find out is how to programmatically update the menu once the module is installed.
protected override void InstallPages(Telerik.Sitefinity.Abstractions.SiteInitializer initializer) var pageManager = initializer.PageManager; var backendPagesNode = pageManager.GetPageNode(SiteInitializer.SitefinityNodeId); var landingPage = pageManager.GetPageNodes().SingleOrDefault(p => p.Id == this.LandingPageId); if (landingPage == null) var pageInfo = new PageDataElement() PageId = this.LandingPageId, IncludeScriptManager = true, ShowInNavigation = true, EnableViewState = false, TemplateName = SiteInitializer.BackendTemplateName, Name = "Contacts", MenuName = "Contacts", UrlName = "Contacts", Description = "Contacts Module", HtmlTitle = "Contacts Module" ; pageInfo.Parameters["ModuleName"] = "Contacts"; var html = new Literal(); html.Text = "<h1>Contacts</h1>"; initializer.CreatePageFromConfiguration(pageInfo, backendPagesNode, html); Hi,
There is a way to edit the pages backend menu. Here is a code example how to do it:
SiteInitializer siteInitializer = new SiteInitializer("myEdit");Guid landingPageId = new Guid("19BCC56D-B04C-409C-847B-458F6A21BDB9");PageManager pageManager = PageManager.GetManager(null, "myEdit");PageNode backendPagesNode = pageManager.GetPageNode(SiteInitializer.SitefinityNodeId);PageDataElement pageInfo = new PageDataElement() PageId = landingPageId, IncludeScriptManager = true, ShowInNavigation = true, EnableViewState = false, TemplateName = SiteInitializer.BackendTemplateName, Name = "Contacts", MenuName = "Contacts", UrlName = "Contacts", Description = "Contacts Module", HtmlTitle = "Contacts Module";pageInfo.Parameters["ModuleName"] = "Contacts";var html = new Literal();html.Text = "<h1>Contacts</h1>";siteInitializer.CreatePageFromConfiguration(pageInfo, backendPagesNode, html);siteInitializer.SaveChanges();public override void Upgrade(SiteInitializer initializer, Version upgradeFrom) if (upgradeFrom.Major == 10 && upgradeFrom.Minor < 2) //your code goes here protected override void InstallPages(SiteInitializer initializer) initializer.Installer .CreateModuleGroupPage(MyModule.ModulePageGroupId, "MyGroup") .PlaceUnder(CommonNode.TypesOfContent) .SetOrdinal(1) .SetTitle("ModuleTitle") .AddChildPage(MyModule.HomePageId, "MyHomePage") .SetTitle("MyHomePage") .SetHtmlTitle("MyHomePage") .Done()