Class ContentTypeBase
Represents an abstract class for base ContentType properties and methods
Namespace: Umbraco.Cms.Core.Models
Assembly: Umbraco.Core.dll
Syntax
[DataContract(IsReference = true)]
public abstract class ContentTypeBase : TreeEntityBase, IContentTypeBase, IUmbracoEntity, ITreeEntity, IEntity, IDeepCloneable, IRememberBeingDirty, ICanBeDirty
Constructors
View SourceContentTypeBase(IShortStringHelper, Int32)
Declaration
protected ContentTypeBase(IShortStringHelper shortStringHelper, int parentId)
Parameters
| Type | Name | Description |
|---|---|---|
| IShortStringHelper | shortStringHelper | |
| System.Int32 | parentId |
ContentTypeBase(IShortStringHelper, IContentTypeBase)
Declaration
protected ContentTypeBase(IShortStringHelper shortStringHelper, IContentTypeBase parent)
Parameters
| Type | Name | Description |
|---|---|---|
| IShortStringHelper | shortStringHelper | |
| IContentTypeBase | parent |
ContentTypeBase(IShortStringHelper, IContentTypeBase, String)
Declaration
protected ContentTypeBase(IShortStringHelper shortStringHelper, IContentTypeBase parent, string alias)
Parameters
| Type | Name | Description |
|---|---|---|
| IShortStringHelper | shortStringHelper | |
| IContentTypeBase | parent | |
| System.String | alias |
Properties
View SourceAlias
The Alias of the ContentType
Declaration
[DataMember]
public virtual string Alias { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
AllowedAsRoot
Gets or Sets a boolean indicating whether this ContentType is allowed at the root
Declaration
[DataMember]
public bool AllowedAsRoot { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
AllowedContentTypes
Gets or sets a list of integer Ids for allowed ContentTypes
Declaration
[DataMember]
public IEnumerable<ContentTypeSort>? AllowedContentTypes { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<IEnumerable<ContentTypeSort>> |
Description
Description for the ContentType
Declaration
[DataMember]
public string Description { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
Icon
Name of the icon (sprite class) used to identify the ContentType
Declaration
[DataMember]
public string Icon { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
IsElement
Gets or sets a value indicating whether this content type is for an element.
Declaration
[DataMember]
public bool IsElement { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Remarks
By default a content type is for a true media, member or document, but it can also be for an element, ie a subset that can for instance be used in nested content.
ListView
Gets or Sets a Guid, which is the key of the listview.
Declaration
[DataMember]
public Guid? ListView { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<Guid> |
Remarks
ContentType Containers doesn't show children in the tree, but rather in grid-type view.
NoGroupPropertyTypes
Gets or sets the local property types that do not belong to a group.
Declaration
public IEnumerable<IPropertyType> NoGroupPropertyTypes { get; set; }
Property Value
| Type | Description |
|---|---|
| IEnumerable<IPropertyType> |
PropertyGroups
Gets or sets the local property groups.
Declaration
[DataMember]
public PropertyGroupCollection PropertyGroups { get; set; }
Property Value
| Type | Description |
|---|---|
| PropertyGroupCollection |
Remarks
A PropertyGroup corresponds to a Tab in the UI
Marked DoNotClone because we will manually deal with cloning and the event handlers
PropertyTypes
Gets all local property types all local property groups or ungrouped.
Declaration
[IgnoreDataMember]
public IEnumerable<IPropertyType> PropertyTypes { get; }
Property Value
| Type | Description |
|---|---|
| IEnumerable<IPropertyType> |
SupportsPublishing
Gets a value indicating whether the content type supports publishing.
Declaration
public abstract bool SupportsPublishing { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Remarks
A publishing content type supports draft and published values for properties. It is possible to retrieve either the draft (default) or published value of a property. Setting the value always sets the draft value, which then needs to be published.
A non-publishing content type only supports one value for properties. Getting the draft or published value of a property returns the same thing, and publishing a value property has no effect.
Thumbnail
Name of the thumbnail used to identify the ContentType
Declaration
[DataMember]
public string Thumbnail { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
Variations
Gets or sets the content variation of the content type.
Declaration
public virtual ContentVariation Variations { get; set; }
Property Value
| Type | Description |
|---|---|
| ContentVariation |
Methods
View SourceAddPropertyGroup(String, String)
Adds a property group with the specified name and alias.
Declaration
public abstract bool AddPropertyGroup(string alias, string name)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | alias | The alias. |
| System.String | name | Name of the group. |
Returns
| Type | Description |
|---|---|
| System.Boolean | Returns |
Remarks
This method will also check if a group already exists with the same alias.
AddPropertyType(IPropertyType)
Adds a PropertyType, which does not belong to a PropertyGroup.
Declaration
public bool AddPropertyType(IPropertyType propertyType)
Parameters
| Type | Name | Description |
|---|---|---|
| IPropertyType | propertyType | IPropertyType to add |
Returns
| Type | Description |
|---|---|
| System.Boolean | Returns |
AddPropertyType(IPropertyType, String, String)
Adds the property type to the specified property group (creates a new group if not found and a name is specified).
Declaration
public abstract bool AddPropertyType(IPropertyType propertyType, string propertyGroupAlias, string propertyGroupName = null)
Parameters
| Type | Name | Description |
|---|---|---|
| IPropertyType | propertyType | The property type to add. |
| System.String | propertyGroupAlias | The alias of the property group to add the property type to. |
| System.String | propertyGroupName | The name of the property group to create when not found. |
Returns
| Type | Description |
|---|---|
| System.Boolean | Returns |
DeepCloneWithResetIdentities(String)
Declaration
public ContentTypeBase DeepCloneWithResetIdentities(string alias)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | alias |
Returns
| Type | Description |
|---|---|
| ContentTypeBase |
IsDirty()
Indicates whether the current entity is dirty.
Declaration
public override bool IsDirty()
Returns
| Type | Description |
|---|---|
| System.Boolean | True if entity is dirty, otherwise False |
MovePropertyType(String, String)
Moves a PropertyType to a specified PropertyGroup
Declaration
public bool MovePropertyType(string propertyTypeAlias, string propertyGroupAlias)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | propertyTypeAlias | Alias of the PropertyType to move |
| System.String | propertyGroupAlias | Alias of the PropertyGroup to move the PropertyType to |
Returns
| Type | Description |
|---|---|
| System.Boolean |
Remarks
If propertyGroupAlias is null then the property is moved back to
"generic properties" ie does not have a tab anymore.
PerformDeepClone(Object)
Declaration
protected override void PerformDeepClone(object clone)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | clone |
PropertyGroupsChanged(Object, NotifyCollectionChangedEventArgs)
Declaration
protected void PropertyGroupsChanged(object sender, NotifyCollectionChangedEventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | sender | |
| System.Collections.Specialized.NotifyCollectionChangedEventArgs | e |
PropertyTypeExists(String)
Checks whether a PropertyType with a given alias already exists
Declaration
public abstract bool PropertyTypeExists(string alias)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | alias | Alias of the PropertyType |
Returns
| Type | Description |
|---|---|
| System.Boolean | Returns |
PropertyTypesChanged(Object, NotifyCollectionChangedEventArgs)
Declaration
protected void PropertyTypesChanged(object sender, NotifyCollectionChangedEventArgs e)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | sender | |
| System.Collections.Specialized.NotifyCollectionChangedEventArgs | e |
RemovePropertyGroup(String)
Removes a PropertyGroup from the current ContentType
Declaration
public void RemovePropertyGroup(string alias)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | alias | Alias of the PropertyGroup to remove |
RemovePropertyType(String)
Removes a PropertyType from the current ContentType
Declaration
public void RemovePropertyType(string alias)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | alias | Alias of the IPropertyType to remove |
ResetDirtyProperties()
Resets dirty properties by clearing the dictionary used to track changes.
Declaration
public override void ResetDirtyProperties()
Remarks
Please note that resetting the dirty properties could potentially obstruct the saving of a new or updated entity.
SupportsPropertyVariation(String, String, Boolean)
Validates that a combination of culture and segment is valid for the content type properties.
Declaration
public bool SupportsPropertyVariation(string culture, string segment, bool wildcards = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | culture | The culture. |
| System.String | segment | The segment. |
| System.Boolean | wildcards | A value indicating whether wildcard are supported. |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if the combination is valid; otherwise false. |
Remarks
The combination must be valid for properties of the content type. For instance, if the content type varies by culture, then an invariant culture is valid, because some properties may be invariant. On the other hand, if the content type is invariant, then a variant culture is invalid, because no property could possibly vary by culture.
SupportsVariation(String, String, Boolean)
Validates that a combination of culture and segment is valid for the content type.
Declaration
public bool SupportsVariation(string culture, string segment, bool wildcards = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | culture | The culture. |
| System.String | segment | The segment. |
| System.Boolean | wildcards | A value indicating whether wildcard are supported. |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if the combination is valid; otherwise false. |
Remarks
The combination must match the content type variation exactly. For instance, if the content type varies by culture, then an invariant culture would be invalid.
ToSimple()
Declaration
public abstract ISimpleContentType ToSimple()
Returns
| Type | Description |
|---|---|
| ISimpleContentType |