SP2010 Zurücksetzen alle Unterschiede in die Erben der Meisterseite mit C#
-
16-10-2019 - |
Frage
Ich erstelle eine Site -Funktion, die eine benutzerdefinierte Masterseite im Root -Web festlegt. Ich möchte auch, dass die auf dem Root festgelegte Masterseite alle Subsites erben wird. Was ist der eleganteste Weg, um dies zu gewährleisten (mit .NET)?
(Offensichtlich konnte ich alle Subsites durchsetzen und manuell einstellen.)
Lösung
Es gibt eine einfachere Möglichkeit, dies mit der SharePoint -API zu tun:
SPWeb web = SPContext.Current.Web;
PublishingWeb publishingWeb = PublishingWeb.GetPublishingWeb(web);
publishingWeb.CustomMasterUrl = "/_catalogs/masterpage/mycustom.master";
publishingWeb.CustomMasterUrl.SetInherit(true, true);
publishingWeb.Update();
Andere Tipps
Ich denke, das Beste, was wir tun können, ist so etwas wie die folgende Methode.
foreach (SPWeb site in siteCollection.AllWebs)
{
site.MasterUrl = "/_catalogs/masterpage/mycustom.master";
site.CustomMasterUrl ="/_catalogs/masterpage/mycustom.master";
site.Update();
site.Dispose();
}
private void SetMaster(SPWeb web, string masterpagePath, string custommasterpagePath)
{
web.CustomMasterUrl = masterpagePath;
web.MasterUrl = custommasterpagePath;
web.Update();
foreach(SPWeb child in web.Webs)
{
try {
SetMaster(child, masterpage, custommasterpage);
}
finally
{
if(child != null) child.Dispose();
}
}
}
Nennen Sie dies an der spichte.rootweb und geben Sie den Pfad zu Ihren Master -Seiten an. Es wird über alle Websites unter diesem RootWeb in der Site -Sammlung wiederholt (dh alle!)
Beachten Sie, dass Sie möglicherweise prüfen müssen, ob die folgenden Websites verwendet werden Verschiedene Master -Seiten wie Dies kann Probleme verursachen, insbesondere bei Arbeitsbereichen, aber möglicherweise anderen.
Möglicherweise müssen Sie auch berücksichtigen Speichern Sie die ursprünglichen Master -Seitendetails in der Grundstückstasche Für das Web können Sie sie später wiederherstellen (z. B. Deaktivierung)
Und Sie möchten vielleicht Stellen Sie sicher, dass die Themen ausgeschaltet sind Und stören Sie Ihr Aussehen und Gefühl nicht.
http://msdn.microsoft.com/en-us/library/gg447066(v=office.14).aspx
Dadurch werden die Kinderessites per Event -Empfänger durch die Meisterseite der Toplevel -Website vorgestellt ...