多くのサイトとサブサイトを含む SP 2010 のポータルがあります。特定のサイトとそのすべてのサブサイトに同じマスター ページを適用したいのですが、Share-Point Designer 2010 から実行しました。問題は、サブサイトのページがマスター ページを取得しないことです。 、手動で変更する必要がありますか? ティア。
質問する
1331 次
1 に答える
1
サイト スコープ機能を作成し、イベント レシーバーを追加することで、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();
}
于 2012-06-26T05:25:50.687 に答える