ContentType
A ContentType corresponds to the Document Type found in the backoffice.
A ContentType corresponds to the Document Type found in the backoffice. The ContentType is a model / data definition for your content nodes. Every content node on an Umbraco web site always maps to a backing Document Type.
A Document Type is composed by Properties, which are grouped by Tabs (or PropertyGroups in the API). It can also inherit properties and tabs from other Document Types.
It is possible to link one or more Templates to a Document Type. This determines how your model/data is rendered to the user.
Namespace:
Umbraco.Cms.Core.Models
Assembly:
Umbraco.Core.dll
All samples in this document will require references to the following dll:
Umbraco.Core.dll
All samples in this document will require the following using statements:
Constructors
ContentType(IShortStringHelper shortStringHelper, IContentType parent, string alias)
Constructor for creating a new ContentType
object. The necessary parameters are a short string helper IShortStringHelper
, the parent ContentType
as an IContentType
and the alias of the new ContentType
as string
.
new ContentType(IShortStringHelper shortStringHelper, int parentId)
Constructor for creating a new ContentType
object where the necessary parameters are a short string helper IShortStringHelper
and the Id of the parent ContentType
as an Int
.
Properties
.Alias
Gets or Sets the Alias as a String
of the ContentType.
.AllowedAsRoot
Gets or Sets a Bool
indicating whether this ContentType is allowed at the root. If one or more ContentTypes are set to 'AllowedAsRoot' only they are shown in the create dialog at the root level in the backoffice.
.AllowedContentTypes
Gets or Sets an Enumerable
list of ContentTypeSort
objects of the ContentTypes allowed under the current ContentType.
The ContentTypeSort
is an object with a lazy Id, int SortOrder and string Alias used to sort the MediaTypes within the list of AllowedContentTypes.
.AllowedTemplates
Gets or Sets an Enumerable
list of ITemplates
which are allowed for the current ContentType.
.ContentTypeComposition
Gets a list of ContentTypes
as IContentTypeComposition
objects that make up a composition of PropertyGroups and PropertyTypes for the current ContentType.
The ContentTypeComposition provides a mixin-type functionality in that you can compose a ContentType of one or more other ContentTypes in a complex structure. But please be aware that the backoffice does not fully support these complex structures yet.
.CompositionPropertyGroups
Gets a list of all 'PropertyGroup` objects from the composition including PropertyGroups from the current ContentType.
.CompositionPropertyTypes
Gets a list of all PropertyType
objects from the composition including PropertyTypes from the current ContentType.
.CreateDate
Gets or Sets a DateTime
object, indicating then the given ContentType was created.
.CreatorId
Gets or Sets the Id of the User
who created the ContentType.
.Description
Gets or Sets the Description as a String
for the ContentType.
.DefaultTemplate
Gets the default Template set as an ITemplate
object for this ContentType.
.Icon
Gets or Sets the Icon as a String
for the ContentType.
.Id
Gets the unique ContentType
Id as an Int
. The ID, derived from a database identity field, isn't safe for code references as they are moved across instances. Therefore it's recommended to use Key
instead.
.Key
Gets the Guid
assigned to the ContentType during creation. This value is unique, and should never change, even if the content is moved between instances.
.Level
Gets or Sets the given ContentType
level in the site hierarchy as an Int
. ContentTypes placed at the root of the tree, will return 1, content right underneath will return 2, and so on.
.Name
Gets or Sets the name of the ContentType as a String
.
.ParentId
Gets or Sets the parent ContentType
Id as an Int
.
.Path
Gets or Sets the path of the ContentType as a String
. This string contains a comma separated list of the ancestors Ids including the current ContentTypes own id at the end of the string.
.PropertyGroups
Gets or Sets a PropertyGroupCollection
containing a list of PropertyGroups for the current ContentType.
.PropertyTypes
Gets an Enumerable
list of PropertyTypes aggregated for all groups within the current ContentType, as well as PropertyTypes not within a group.
.SortOrder
Gets the given ContentType
index, compared to sibling content.
.Thumbnail
Gets or Sets the Thumbnail as a String
for the ContentType.
Methods
.AddContentType(IContentTypeComposition contentType)
Adds a new ContentType
to the list of composite ContentTypes.
.CompositionAliases()
Returns an Enumerable
list of ContentType aliases as String
from the current composition.
.CompositionIds()
Returns an Enumerable
list of ContentType Ids as Int
from the current composition.
.ContentTypeCompositionExists(string alias)
Checks if a ContentType
with the supplied alias exists in the list of composite ContentTypes.
.SetDefaultTemplate(ITemplate template)
Sets the default Template
for the current ContentType.
.RemoveContentType(string alias)
Removes a ContentType
with the supplied alias from the list of composite ContentTypes.
.RemovePropertyType(string propertyTypeAlias)
Removes a PropertyType
from the current ContentType
.
.RemoveTemplate(ITemplate template)
Removes a Template
from the list of allowed templates.
Last updated