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


C# Web.DeployThemeToSubWeb方法代码示例

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


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

示例1: 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
            newWeb.DeployThemeToSubWeb(rootWeb, theme,
                                       colorFile, fontFile, backgroundImage, masterPage);

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

示例2: ApplyThemeToSite

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

            // Setting the Contoos theme to host web
            newWeb.SetThemeToWeb("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:AaronSaikovski,项目名称:PnP,代码行数:34,代码来源:Default.aspx.cs


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