Have you ever tried to assign a custom master page to the system pages in SharePoint?

This is what I used to do up to now.

Create a feature that deploys the master pages.

add in the onet.xml to the configuration with id 0  the following two lines:

MasterUrl=~SiteCollection/_catalogs/masterpage/My.master
CustomMasterUrl=”~SiteCollection/_catalogs/masterpage/My.master”

Deploy the solution.

Check that the masterpages are there and that they are used by the site created using my template template … Only the default master page is set but the system master page isn’t set.

I then had a look at the following page

http://msdn.microsoft.com/en-us/library/bb687712.aspx

What did I do wrong?

I created my module within a feature.

instead of adding the following to my onet.xml.

<Module Name="MyMasterPages" Url="_catalogs/masterpage">
      <File Url="My.master" Type="GhostableInLibrary">
      </File>
</Module>

So what went wrong then?

It’s all about the order that things get activated. I was creating the master page after the site was created using my site collection feature.

Adding the master page using a module in the onet.xml resolved this issue.

Advertisements