Learning SharePoint Part IV
I have learned so much in the past few days, I am not sure where to start. So, here is tidbit to get started with:
1: <SharePoint:DelegateControl ID="DelegateControl5" runat="server" ControlId="SmallSearchInputBox" />
What is this thing called SharePoint:DelegateControl? Well, it looks like it is the product group’s version of SmartPart. Any control that is registered can be instantiated by this syntax:
1: <SharePoint:DelegateControl ID="[MyUniqueControlId]" runat="server" ControlId="[MyControlName]" />
Here is another tidbit. If you want to deploy a custom master page and use a custom style sheet, create a feature that looks like this:
1: <?xml version="1.0" encoding="utf-8"?>
2: <Feature Id="e6070a56-757f-4a9c-842c-030e596a08d0"
3: Title="IpmMasterPages"
4: Description="Installs a custom master page for the Innovation Administration Site"
5: Version="12.0.0.0"
6: Hidden="FALSE"
7: Scope="Web"
8: DefaultResourceFile="core"
9: xmlns="https://schemas.microsoft.com/sharepoint/">
10: <ElementManifests>
11: <ElementManifest Location="elements.xml" />
12: <ElementFile Location="Masters\ipmadministration.master" />
13: <ElementFile Location="Masters\ipm.css" />
14: </ElementManifests>
15: </Feature>
Elements.xml looks like this:
1: <?xml version="1.0" encoding="utf-8" ?>
2: <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
3: <Module Name="IpmMasterPages" Url="_catalogs/masterpage" Path="Masters" RootWebOnly="FALSE">
4: <File Url="ipmadministration.master" Type="GhostableInLibrary" />
5: </Module>
6: <Module Name="IpmStyles" Url="Styles" Path="Masters" RootWebOnly="FALSE">
7: <File Url="ipm.css" />
8: </Module>
9: </Elements>
NOTE: Remember that the style sheet is NOT a list item, so if you copy the <File> element from the master module and don’t forget to remove the Type=”GhostableInLibrary” attribute, you will get an error when you create the site.
And add a link to your style sheet in the master page
1: <link rel="stylesheet" href="../../styles/ipm.css" type="text/css" />
In onet.xml, activate the custom master page feature:
1: <!-- Custom master page-->
2: <Feature ID="e6070a56-757f-4a9c-842c-030e596a08d0" />
Setup a feature receiver for the custom master age and update the master page url on activation:
1: using (SPWeb web = (SPWeb)properties.Feature.Parent)
2: {
3: web.MasterUrl = web.MasterUrl.Replace("default.master", "ipmadministration.master");
4: web.Update();
5: }
Happy SharePointing….
Comments
- Anonymous
January 29, 2009
PingBack from http://stevepietrek.com/2009/01/29/links-1292009/