Creating a custom layout for a Publishing site in SharePoint 2010 is not very difficult to accomplish, but there are a few steps that that might cause you hang ups if you didn’t know where to look. I will show you how easy it is to quickly create your own custom page layout using a simple example.
Open your Publishing site in a browser, and in the Site Actions menu, select Site Settings. On the Site Settings page, under Galleries, click on Master pages and page layouts.
On the Master pages and page layouts page, in the Ribbon, under Library tools, select Documents. In the Documents menu, select New Document found on the left, and then in the New Document sub menu, select Page Layout.
On the New Page Layout page, you will be asked to provide basic information regarding this page layout. By default you will want to leave the Content Type Group set to Page Layout Content Types and the Content Type Name set as an Article Page. You can set the URL name to a filename that describes this layout although it is up to you. I suggest that you do not use spaces either. The Title is what will be displayed on the layout menu for a content page. The description can be left blank if you wish. Click OK at the bottom of the page once you are ready.
Once the page layout has been created, you will be sent back to the Master Page Gallery. You will see that your new page layout has been added, although its Approval Status is marked as Draft. I am now going to skip a few steps as the next few steps depend on what you intend to do with this new page layout. By default, the new page layout will look similar to the image below in SharePoint Designer. To open the page layout in SPD, you can either click the page layout file name in the browser and select Edit in SharePoint Designer from the drop down menu, or you can simply open your site in SPD and navigate to the All Files->_catalogs->masterpage directory. The steps that I am skipping are updating the page layout. You can transfer over content areas from existing page layouts, make any updates as needed, etc. Don’t forget that you can grab content area id from your masterpage as well.
Once you have made changes to the page layout as required, you will have to check in, publish and approve the layout before a content page can use it. Open the Master Page Gallery in a browser as before and click on your new page layout. On the dropdown menu, select Check In. On the Check In window, I suggest checking in a Major Version.
Your Approval Status should now be set to Pending. We now need to Approve this layout, so click on the on your new page layout again and on the dropdown menu, select Approve/Reject. On the Approve/Reject window, select Approved. This item will become visible to all users. and click OK.
Your new page layout should now be approved and ready to be used on a content page.
You are now ready to add a new page (or open an existing page that you want set to use your new layout). If you would like to add a new page, click on the Site Actions button and in the Site Actions menu select New Page. You will only be asked for a page name. Go ahead and enter a new page name, in my example, it will be testpage1.
You are seconds away. Once the new page has been added, you will be taken to the new page, already opened to be edited. Above the ribbon, select the Page option (between Browse and Publish). In the page menu, select Page Layout. In the Page Layout dropdown, you will see your new page layout. Select your layout, and you are done.
Once you click on the new page layout, it will automatically be applied to your page. If you followed these steps and did not make any changes to your new page layout then most likely once your new page layout has been applied, you will have a content page with not much to do. This is because the layout page we created doesn’t do much by itself. If will be up to you to modify the page layout content areas to add web part zones, controls, new layouts, etc.
Hopefully this has been helpful and once you have tried this a few times you will find endless opportunities to create custom page layouts as needed.
Do you have thoughts, insights or suggestions regarding this post? Please tell me.