【发布时间】:2014-07-14 09:26:40
【问题描述】:
【问题讨论】:
-
为什么要关门?很清楚他在问什么——他想通过客户端对象模型设置站点的 SiteLogoUrl 属性。您应该将其移至 SharePoint Stack Exchange,而不是因为“不清楚”而将其关闭。
标签: sharepoint sharepoint-2013 csom
【问题讨论】:
标签: sharepoint sharepoint-2013 csom
看起来客户端对象模型中的站点徽标没有像常规对象模型中那样的挂钩。 (site.RootWeb.SiteLogoUrl = pictureUrl;)
【讨论】:
我找不到使用 CSOM 的方法,但您可以使用事件接收器创建新的网站集范围(适用于 SharePoint Online)功能并将其部署为解决方案。它对我有用,并且节省了我手动更新 380 个站点的时间。我让 FeatureActivated 方法递归地在网站集的根网站和所有子网站上设置徽标。代码如下:
public class Feature1EventReceiver : SPFeatureReceiver
{
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite;
if (site != null)
{
SPWeb web = site.RootWeb;
SetLogo(web);
}
}
private void SetLogo(SPWeb web) {
web.SiteLogoUrl = "/SiteAssets/logo.png";
web.Update();
foreach (SPWeb subweb in web.Webs)
{
SetLogo(subweb);
}
}
}
【讨论】: