我在SP 2010中有一个门户网站,其中包含许多网站和子网站。 对于特定网站及其所有'子网站,我想应用相同的母版页,我是从Share-Point设计师2010中做到的。 问题是子站点中的页面不占用主页面,我是否必须手动更改它们? TIA。
答案 0 :(得分:1)
您可以通过创建Site Scoped功能然后添加事件接收器,通过Visual Studio执行此操作。在其中,覆盖FeatureActivated以将客户母版页应用于网站集中的每个网站。这是我使用的片段:
var siteCollection = properties.Feature.Parent as SPSite;
if (siteCollection == null)
return;
foreach (SPWeb site in siteCollection.AllWebs)
{
using (site)
{
site.CustomMasterUrl = webAppRelativePath +
"_catalogs/masterpage/custommasterpage.master";
site.SiteLogoUrl = webAppRelativePath +
"Style Library/Images/logo.gif";
site.Update();
}
}
您可以按需修改此按钮以使用SharePoint PowerShell界面:
$site = get-spsite "http://sps2010/sitecoll"
$site.AllWebs | foreach-object { `
$_.CustomMasterUrl = "_catalogs/masterpage/custommasterpage.master";
$_.SiteLogoUrl = "Style Library/Images/logo.gif";
$_.Update();
}