Поделиться через


Masterpages einer Publishing Site nachträglich ändern (oder Property-Bags unleashed)

Hallo zusammen,

in meinen vorherigen Blog-Posts habe ich gezeigt habe ich gezeigt wie man an die Property-Bags einer Site herankommt. Link 

nun zu einer praktischen Anwendung - ihr kennt sicher alle den Link in den Sitecollection Settings bei dem man die Masterpages auch für bestehende Sites setzen kann. Das alleine geht sehr einfach mit dem MasterUrl Property des SPWeb Objekts, jedoch muss ja zuvor die Vererbung der Masterpages gebrochen werden, und das kann nur mit der Eigenschaft __InheritsCustomMasterUrl der Site-Property-Bag erfolgen.

MasterPages

Das u.g. Codesnippet bricht zunächst die Einstellung der Masterpage-Vererbung und setzt danach eine eigene Masterpage (myown.master)

 SPSite site = new SPSite("https://moss.litwareinc.com"); 
SPWeb web = site.OpenWeb("/sites/proposal"); 
web.AllProperties["__InheritsCustomMasterUrl"] = "False"; 
web.MasterUrl = "/_catalogs/masterpage/myown.master";
web.Update();

Viel Spass mit dem neuen Look & Feel der Sites

Sven