/// <summary>
        /// Installs the pages.
        /// </summary>
        /// <param name="initializer">The initializer.</param>
        protected override void InstallPages(SiteInitializer initializer)
        {
            var pageManager = initializer.PageManager;
            var moduleNode  = pageManager.GetPageNode(SiteInitializer.ModulesNodeId);
            var id          = AgentsPageGroupId;
            var agentsNode  = pageManager.GetPageNodes().Where(t => t.Id == id).SingleOrDefault();

            if (agentsNode == null)
            {
                agentsNode                          = initializer.CreatePageNode(AgentsPageGroupId, moduleNode, Sitefinity.Pages.Model.NodeType.Group);
                agentsNode.Name                     = "Agents";
                agentsNode.ShowInNavigation         = true;
                agentsNode.Attributes["ModuleName"] = AgentsModule.ModuleName;
                Res.SetLstring(agentsNode.Title, ResourceClassId, "PageGroupNodeTitle");
                Res.SetLstring(agentsNode.UrlName, ResourceClassId, "PageGroupNodeTitle");
                Res.SetLstring(agentsNode.Description, ResourceClassId, "PageGroupNodeDescription");
            }

            id = this.LandingPageId;
            var landingPage =
                pageManager
                .GetPageNodes()
                .SingleOrDefault(p => p.Id == id);

            if (landingPage == null)
            {
                var pageInfo = new PageDataElement()
                {
                    PageId               = this.LandingPageId,
                    Name                 = "Agents",
                    MenuName             = "AgentsLandingPageTitle",
                    UrlName              = "AgentsLandingPageUrlName",
                    Description          = "AgentsLandingPageDescription",
                    HtmlTitle            = "AgentsLandingPageHtmlTitle",
                    ResourceClassId      = ResourceClassId,
                    IncludeScriptManager = true,
                    ShowInNavigation     = false,
                    EnableViewState      = false,
                    TemplateName         = SiteInitializer.BackendTemplateName
                };
                pageInfo.Parameters["ModuleName"] = AgentsModule.ModuleName;
                var controlPanel = new BackendContentView()
                {
                    ModuleName            = AgentsModule.ModuleName,
                    ControlDefinitionName = AgentsDefinitions.BackendDefinitionName
                };
                initializer.CreatePageFromConfiguration(pageInfo, agentsNode, controlPanel);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Installs the pages.
        /// </summary>
        /// <param name="initializer">The initializer.</param>
        protected override void InstallPages(SiteInitializer initializer)
        {
            // code to install admin page nodes and pages
            // get page manager
            var pageManager = initializer.PageManager;
            var modulesPageNode = pageManager.GetPageNode(SiteInitializer.ModulesNodeId);

            // Create PageNode if doesn't exist
            var ProjectsModulePageGroupNode = pageManager.GetPageNodes().Where(t => t.Id == ProjectsPageGroupID).SingleOrDefault();
            if (ProjectsModulePageGroupNode == null)
            {
                // create page node under Modules node
                ProjectsModulePageGroupNode = initializer.CreatePageNode(ProjectsPageGroupID, modulesPageNode, Telerik.Sitefinity.Pages.Model.NodeType.Group);
                ProjectsModulePageGroupNode.Name = ProjectsModule.ModuleName;
                ProjectsModulePageGroupNode.ShowInNavigation = true;
                ProjectsModulePageGroupNode.Attributes["ModuleName"] = ProjectsModule.ModuleName;

                // hard-code names for now, will eventually be localized
                ProjectsModulePageGroupNode.Title = "Projects";
                ProjectsModulePageGroupNode.UrlName = "Projects";
                ProjectsModulePageGroupNode.Description = "Module for managing a list of Projects";
            }

            // create Landing Page if doesn't exist
            var landingPage = pageManager.GetPageNodes().SingleOrDefault(p => p.Id == LandingPageId);
            if (landingPage == null)
            {
                // create page
                var pageInfo = new PageDataElement()
                {
                    PageId = LandingPageId,
                    IncludeScriptManager = true,
                    ShowInNavigation = false,
                    EnableViewState = false,
                    TemplateName = SiteInitializer.BackendTemplateName,

                    // hard-code names for now, will eventually be localized
                    Name = ProjectsModule.ModuleName,
                    MenuName = "Projects Module",
                    UrlName = "Projects",
                    Description = "Landing page for the Projects Module",
                    HtmlTitle = "Projects Module"
                };

                pageInfo.Parameters["ModuleName"] = ProjectsModule.ModuleName;

                // create control panel
                var backendView = new BackendContentView()
                {
                    ModuleName = ProjectsModule.ModuleName,
                    ControlDefinitionName = ProjectsDefinitions.BackendDefinitionName
                };

                // add page
                initializer.CreatePageFromConfiguration(pageInfo, ProjectsModulePageGroupNode, backendView);
            }
        }