Docs > Content types
For most websites, web pages based on templates are a good way of lightly separating content and presentation in a way that is easy to manage and easy for contributors to understand. But still, that doesn't fit all scenarios. Content types provide a way of defining a more abstract type of data, with a cleaner separation from the way the content is displayed.
This is a particularly useful way of storing content that is never directly displayed on the website; for example, content that is only displayed in aggregate, or is only displayed as part of another page.
Writing screens to update content types
You can bind a form to a particular content type, by using the datatype attribute, a PostCMS-specific extension to the <form> tag.
For example:
Defining content types
A content type definition looks like this:new ContentType(
'Tip', {
title: 'string',
place: {type: 'Place', required: true},
description: {type: 'text', schema: 'styled'},
location: 'text'
}
);
Web services
A simple web services API is automatically generated for each content object type you define.Writing screens to update content types
You can bind a form to a particular content type, by using the datatype attribute, a PostCMS-specific extension to the <form> tag. For example:
<form name="tipform" datatype="Tip">
<label for="title">Title</label>
<input type="text" name="title" required="true"/>
</form>



