本文整理汇总了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);
}
示例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();
}