Create Custom Content Types in SharePoint 2010

Ratings:
(4)
Views:0
Banner-Img
  • Share this blog:

Create a SharePoint 2010 Project

In this task, you create an empty SharePoint 2010 project in Microsoft Visual Studio 2010.

To create the SharePoint project

  1. To start Visual Studio 2010, click the Start Menu, click All Programs, click Microsoft Visual Studio 2010, and then click Microsoft Visual Studio 2010.
  2. On the File menu, point to New, and then click Project.
  3. In the New Project dialog window, in the Installed Templates section, click Visual C#, click SharePoint, and then click 2010.
  4. SelectEmpty SharePoint Project from the project items.
  5. In theName box, type CreateContentType and then click OK.
  6. In the SharePoint Customization Wizard, type the local Web site that you want to use for this exercise (such as http://localhost/SampleWebSite).
  7. For the trust level, select Deploy as a farm solution and then click Finish.
Learn SharePoint by Tekslate - Fastest growing sector in the industry. Explore Online "SharePoint Training" and course is aligned with industry needs & developed by industry veterans. Tekslate will turn you into a SharePoint Expert.

Create a Content-Type

In this task, you create the content type as a feature and add an event receiver.

To create a content type

  1. Right-click the Features folder in Solution Explorer and then click Add Feature.
  2. Right-clickFeature1 and then click Add Event Receiver. Visual Studio adds a feature event receiver to Feature1.
  3. Right-clickEventReceiver.cs and then click View Code.
  4. Uncomment the FeatureActivated method in the Feature1EventReceiver
  5. Insert the following code in the FeatureActivated

  C# using (SPWeb spWeb = properties.Feature.Parent as SPWeb) { SPContentType newAnnouncement = spWeb .ContentTypes .Cast<SPContentType>() .FirstOrDefault(c => c.Name == "New Announcements"); if (newAnnouncement != null) { newAnnouncement.Delete(); } SPField newField = spWeb.Fields .Cast<SPField>() .FirstOrDefault(f => f.StaticName == "Team Project"); if (newField != null) { newField.Delete(); } SPContentType myContentType = new SPContentType(spWeb.ContentTypes["Announcement"], spWeb.ContentTypes, "New Announcements"); myContentType.Group = "Custom Content Types"; spWeb.Fields.Add("Team Project", SPFieldType.Text, true); SPFieldLink projFeldLink = new SPFieldLink(spWeb.Fields["Team Project"]); myContentType.FieldLinks.Add(projFeldLink); SPFieldLink companyFieldLink = new SPFieldLink(spWeb.Fields["Company"]); myContentType.FieldLinks.Add(companyFieldLink); spWeb.ContentTypes.Add(myContentType); myContentType.Update(); }

The FeatureActivated method is run when Feature1 is started. This code does the following:

  • Deletes the content typeNew Announcements and the field Team Project, if they exist.
  • Creates a parent content type Announcement based on the New Announcements content type.
  • Creates a text field, which is titled Team Project, and then adds it to the content type.
  • Adds an existing field, which is titled Company, to the content type.
  1. Uncomment the FeatureDeactivating
  2. Insert the following code in the FeatureDeactivating

  C# using (SPWeb spWeb = properties.Feature.Parent as SPWeb) { SPContentType myContentType = spWeb.ContentTypes["New Announcements"]; spWeb.ContentTypes.Delete(myContentType.Id); spWeb.Fields["Team Project"].Delete(); }   The FeatureDeactivating method is run when Feature1 is deactivated. This code does the following:

  • Deletes the content typeNew Announcements.
  • Deletes the text field Team Project.
  1. In Solution Explorer, right-clickCreateContentType and then click Deploy.

Verify that the Project Works Correctly

In this task, you verify the presence of the content type and the two fields.

To test the project

  1. Start Internet Explorer and browse to the Web site that you specified previously.
  2. At the upper-left section of the screen, click Site Actions, and then click Site Settings.
  3. UnderGalleries, click Site Columns.
  4. In theShow Group options, click Custom Columns.

You should see the new field Team Project. Figure 1. Team Project field 83

  1. Click Site Actions and then click Site Settings.
  2. UnderGalleries, click Site content types.
  3. From the Show Group options, select Custom Content Types.

You should see the new content type New Announcements.   Figure 2. New Announcements content type 84

About Author
Authorlogo
Name
TekSlate
Author Bio

TekSlate is the best online training provider in delivering world-class IT skills to individuals and corporates from all parts of the globe. We are proven experts in accumulating every need of an IT skills upgrade aspirant and have delivered excellent services. We aim to bring you all the essentials to learn and master new technologies in the market with our articles, blogs, and videos. Build your career success with us, enhancing most in-demand skills in the market.


Stay Updated


Get stories of change makers and innovators from the startup ecosystem in your inbox