当前位置: 首页>>代码示例>>C#>>正文


C# Web.SetComposedLookByUrl方法代码示例

本文整理汇总了C#中Web.SetComposedLookByUrl方法的典型用法代码示例。如果您正苦于以下问题:C# Web.SetComposedLookByUrl方法的具体用法?C# Web.SetComposedLookByUrl怎么用?C# Web.SetComposedLookByUrl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Web的用法示例。


在下文中一共展示了Web.SetComposedLookByUrl方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ProvisionObjects

        public override TokenParser ProvisionObjects(Web web, ProvisioningTemplate template, TokenParser parser, ProvisioningTemplateApplyingInformation applyingInformation)
        {
            using (var scope = new PnPMonitoredScope(this.Name))
            {
                if (template.ComposedLook != null &&
                    !template.ComposedLook.Equals(ComposedLook.Empty))
                {
                    bool executeQueryNeeded = false;
                    if (executeQueryNeeded)
                    {
                        web.Context.ExecuteQueryRetry();
                    }

                    if (String.IsNullOrEmpty(template.ComposedLook.ColorFile) &&
                        String.IsNullOrEmpty(template.ComposedLook.FontFile) &&
                        String.IsNullOrEmpty(template.ComposedLook.BackgroundFile))
                    {
                        // Apply OOB theme
                        web.SetComposedLookByUrl(template.ComposedLook.Name);
                    }
                    else
                    {
                        // Apply custom theme
                        string colorFile = null;
                        if (!string.IsNullOrEmpty(template.ComposedLook.ColorFile))
                        {
                            colorFile = parser.ParseString(template.ComposedLook.ColorFile);
                        }
                        string backgroundFile = null;
                        if (!string.IsNullOrEmpty(template.ComposedLook.BackgroundFile))
                        {
                            backgroundFile = parser.ParseString(template.ComposedLook.BackgroundFile);
                        }
                        string fontFile = null;
                        if (!string.IsNullOrEmpty(template.ComposedLook.FontFile))
                        {
                            fontFile = parser.ParseString(template.ComposedLook.FontFile);
                        }

                        string masterUrl = null;
                        if (template.WebSettings != null && !string.IsNullOrEmpty(template.WebSettings.MasterPageUrl))
                        {
                            masterUrl = parser.ParseString(template.WebSettings.MasterPageUrl);
                        }
                        web.CreateComposedLookByUrl(template.ComposedLook.Name, colorFile, fontFile, backgroundFile, masterUrl);
                        web.SetComposedLookByUrl(template.ComposedLook.Name, colorFile, fontFile, backgroundFile, masterUrl);

                        var composedLookJson = JsonConvert.SerializeObject(template.ComposedLook);

                        web.SetPropertyBagValue("_PnP_ProvisioningTemplateComposedLookInfo", composedLookJson);
                    }

                    // Persist composed look info in property bag

                }
            }
            return parser;
        }
开发者ID:LiyeXu,项目名称:PnP-Sites-Core,代码行数:58,代码来源:ObjectComposedLook.cs

示例2: ProvisionObjects

        public override TokenParser ProvisionObjects(Web web, ProvisioningTemplate template, TokenParser parser, ProvisioningTemplateApplyingInformation applyingInformation)
        {
            using (var scope = new PnPMonitoredScope(this.Name))
            {
                if (template.ComposedLook != null &&
                    !template.ComposedLook.Equals(ComposedLook.Empty))
                {
                    bool executeQueryNeeded = false;

                    // Apply alternate CSS
                    if (!string.IsNullOrEmpty(template.ComposedLook.AlternateCSS))
                    {
                        var alternateCssUrl = parser.ParseString(template.ComposedLook.AlternateCSS);
                        web.AlternateCssUrl = alternateCssUrl;
                        web.Update();
                        executeQueryNeeded = true;
                    }

                    // Apply Site logo
                    if (!string.IsNullOrEmpty(template.ComposedLook.SiteLogo))
                    {
                        var siteLogoUrl = parser.ParseString(template.ComposedLook.SiteLogo);
                        web.SiteLogoUrl = siteLogoUrl;
                        web.Update();
                        executeQueryNeeded = true;
                    }

                    if (executeQueryNeeded)
                    {
                        web.Context.ExecuteQueryRetry();
                    }

                    if (String.IsNullOrEmpty(template.ComposedLook.ColorFile) &&
                        String.IsNullOrEmpty(template.ComposedLook.FontFile) &&
                        String.IsNullOrEmpty(template.ComposedLook.BackgroundFile))
                    {
                        // Apply OOB theme
                        web.SetComposedLookByUrl(template.ComposedLook.Name);
                    }
                    else
                    {
                        // Apply custom theme
                        string colorFile = null;
                        if (!string.IsNullOrEmpty(template.ComposedLook.ColorFile))
                        {
                            colorFile = parser.ParseString(template.ComposedLook.ColorFile);
                        }
                        string backgroundFile = null;
                        if (!string.IsNullOrEmpty(template.ComposedLook.BackgroundFile))
                        {
                            backgroundFile = parser.ParseString(template.ComposedLook.BackgroundFile);
                        }
                        string fontFile = null;
                        if (!string.IsNullOrEmpty(template.ComposedLook.FontFile))
                        {
                            fontFile = parser.ParseString(template.ComposedLook.FontFile);
                        }

                        string masterUrl = null;
                        if (!string.IsNullOrEmpty(template.ComposedLook.MasterPage))
                        {
                            masterUrl = parser.ParseString(template.ComposedLook.MasterPage);
                        }
                        web.CreateComposedLookByUrl(template.ComposedLook.Name, colorFile, fontFile, backgroundFile, masterUrl);
                        web.SetComposedLookByUrl(template.ComposedLook.Name, colorFile, fontFile, backgroundFile, masterUrl);
                    }
                }
            }
            return parser;
        }
开发者ID:neoassyrian,项目名称:PnP-Sites-Core,代码行数:70,代码来源:ObjectComposedLook.cs

示例3: ProvisionObjects

        public override void ProvisionObjects(Web web, ProvisioningTemplate template, ProvisioningTemplateApplyingInformation applyingInformation)
        {

            Log.Info(Constants.LOGGING_SOURCE_FRAMEWORK_PROVISIONING, CoreResources.Provisioning_ObjectHandlers_ComposedLooks);
            if (template.ComposedLook != null &&
                !template.ComposedLook.Equals(ComposedLook.Empty))
            {
                bool executeQueryNeeded = false;

                // Apply alternate CSS
                if (!string.IsNullOrEmpty(template.ComposedLook.AlternateCSS))
                {
                    var alternateCssUrl = template.ComposedLook.AlternateCSS.ToParsedString();
                    web.AlternateCssUrl = alternateCssUrl;
                    web.Update();
                    executeQueryNeeded = true;
                }

                // Apply Site logo
                if (!string.IsNullOrEmpty(template.ComposedLook.SiteLogo))
                {
                    var siteLogoUrl = template.ComposedLook.SiteLogo.ToParsedString();
                    web.SiteLogoUrl = siteLogoUrl;
                    web.Update();
                    executeQueryNeeded = true;
                }

                if (executeQueryNeeded)
                {
                    web.Context.ExecuteQueryRetry();
                }

                if (String.IsNullOrEmpty(template.ComposedLook.ColorFile) &&
                    String.IsNullOrEmpty(template.ComposedLook.FontFile) &&
                    String.IsNullOrEmpty(template.ComposedLook.BackgroundFile))
                {
                    // Apply OOB theme
                    web.SetComposedLookByUrl(template.ComposedLook.Name);
                }
                else
                {
                    // Apply custom theme
                    string colorFile = null;
                    if (!string.IsNullOrEmpty(template.ComposedLook.ColorFile))
                    {
                        colorFile = template.ComposedLook.ColorFile.ToParsedString();
                    }
                    string backgroundFile = null;
                    if (!string.IsNullOrEmpty(template.ComposedLook.BackgroundFile))
                    {
                        backgroundFile = template.ComposedLook.BackgroundFile.ToParsedString();
                    }
                    string fontFile = null;
                    if (!string.IsNullOrEmpty(template.ComposedLook.FontFile))
                    {
                        fontFile = template.ComposedLook.FontFile.ToParsedString();
                    }

                    string masterUrl = null;
                    if (!string.IsNullOrEmpty(template.ComposedLook.MasterPage))
                    {
                        masterUrl = template.ComposedLook.MasterPage.ToParsedString();
                    }
                    web.CreateComposedLookByUrl(template.ComposedLook.Name, colorFile, fontFile, backgroundFile, masterUrl);
                    web.SetComposedLookByUrl(template.ComposedLook.Name, colorFile, fontFile, backgroundFile, masterUrl);
                }
            }
        }
开发者ID:nats31,项目名称:PnP,代码行数:68,代码来源:ObjectComposedLook.cs

示例4: DeployTheme

        private void DeployTheme(ClientContext cc, Web newWeb, XElement templateConfig, XDocument baseConfiguration)
        {
            Web rootWeb = null;

            string theme = templateConfig.Attribute("Theme").Value;
            // Solve theme URLs from config
            XElement themeStructure = SolveUsedThemeConfigElementFromXML(theme, baseConfiguration);
            string colorFile = GetWebRelativeFolderPath(themeStructure.Attribute("ColorFile").Value);
            string fontFile = GetWebRelativeFolderPath(themeStructure.Attribute("FontFile").Value);
            string backgroundImage = GetWebRelativeFolderPath(themeStructure.Attribute("BackgroundFile").Value);
            // Master page is given as the name of the master, has to be uplaoded seperately if custom one is needed
            string masterPage = themeStructure.Attribute("MasterPage").Value;

            if (EnsureWeb(cc, newWeb, "ServerRelativeUrl").ServerRelativeUrl.ToLowerInvariant() !=
                    EnsureSite(cc, cc.Site, "ServerRelativeUrl").ServerRelativeUrl.ToLowerInvariant())
            {
                // get instances to root web, since we are processign currently sub site 
                rootWeb = cc.Site.RootWeb;
                cc.Load(rootWeb);
                cc.ExecuteQuery();
            }
            else
            {
                // Let's double check that the web is available
                rootWeb = EnsureWeb(cc, newWeb, "Title");
            }

            // Deploy theme files to root web, if they are not there and set it as active theme for the site
            string themeColorFileString = "";
            string themeFontFileString = "";
            string themeBackgroundImageString = "";

            if (!String.IsNullOrEmpty(colorFile))
            {
                themeColorFileString = rootWeb.UploadThemeFile(colorFile).ServerRelativeUrl;

            }
            if (!String.IsNullOrEmpty(fontFile))
            {
                themeFontFileString = rootWeb.UploadThemeFile(fontFile).ServerRelativeUrl;
            }

            if (!String.IsNullOrWhiteSpace(backgroundImage))
            {
                themeBackgroundImageString = rootWeb.UploadThemeFile(backgroundImage).ServerRelativeUrl;
            }

            masterPage = UrlUtility.Combine(rootWeb.ServerRelativeUrl, string.Format("/_catalogs/masterpage/{0}", masterPage));
            newWeb.CreateComposedLookByUrl(theme, themeColorFileString, themeFontFileString, themeBackgroundImageString, masterPage);

            // Setting the theme to new web
            newWeb.SetComposedLookByUrl(theme);
        }
开发者ID:ivanvagunin,项目名称:PnP,代码行数:53,代码来源:DeployManager.cs

示例5: ApplyThemeToSite

        private void ApplyThemeToSite(Web hostWeb, Web newWeb)
        {
            // Let's first upload the contoso theme to host web, if it does not exist there
            var colorFile = hostWeb.UploadThemeFile(HostingEnvironment.MapPath(string.Format("~/{0}", "Resources/Themes/TechEd/teched.spcolor")));
            var backgroundFile = hostWeb.UploadThemeFile(HostingEnvironment.MapPath(string.Format("~/{0}", "Resources/Themes/TechEd/bg.jpg")));
            newWeb.CreateComposedLookByUrl("TechEd", colorFile.ServerRelativeUrl, null, backgroundFile.ServerRelativeUrl, string.Empty);
            // Setting the Contoos theme to host web
            newWeb.SetComposedLookByUrl("TechEd");

            // Instance to site assets. Notice that this is using hard coded list name which only works in 1033 sites
            List assetLibrary = newWeb.Lists.GetByTitle("Site Assets");
            newWeb.Context.Load(assetLibrary, l => l.RootFolder);

            // Get the path to the file which we are about to deploy
            string logoFile = System.Web.Hosting.HostingEnvironment.MapPath(
                                string.Format("~/{0}", "Resources/Themes/TechEd/logo.png"));

            // Use CSOM to upload the file in
            FileCreationInformation newFile = new FileCreationInformation();
            newFile.Content = System.IO.File.ReadAllBytes(logoFile);
            newFile.Url = "pnp.png";
            newFile.Overwrite = true;
            File uploadFile = assetLibrary.RootFolder.Files.Add(newFile);
            newWeb.Context.Load(uploadFile);
            newWeb.Context.ExecuteQuery();

            newWeb.AlternateCssUrl = newWeb.ServerRelativeUrl + "/SiteAssets/contoso.css";
            newWeb.SiteLogoUrl = newWeb.ServerRelativeUrl + "/SiteAssets/pnp.png";
            newWeb.Update();
            newWeb.Context.ExecuteQuery();
        }
开发者ID:Calisto1980,项目名称:PnP,代码行数:31,代码来源:Default.aspx.cs


注:本文中的Web.SetComposedLookByUrl方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。