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