Class PublishedContentBase
Provide an abstract base class for IPublishedContent implementations.
Inheritance
Namespace: Umbraco.Cms.Core.Models.PublishedContent
Assembly: Umbraco.Core.dll
Syntax
public abstract class PublishedContentBase : IPublishedContent, IPublishedElement
Remarks
This base class does which (a) consistently resolves and caches the URL, (b) provides an implementation for this[alias], and (c) provides basic content set management.
Constructors
View SourcePublishedContentBase(IVariationContextAccessor)
Declaration
protected PublishedContentBase(IVariationContextAccessor variationContextAccessor)
Parameters
| Type | Name | Description |
|---|---|---|
| IVariationContextAccessor | variationContextAccessor |
Properties
View SourceChildren
Gets the children of the content item that are available for the current culture.
Declaration
public virtual IEnumerable<IPublishedContent> Children { get; }
Property Value
| Type | Description |
|---|---|
| IEnumerable<IPublishedContent> |
ContentType
Declaration
public abstract IPublishedContentType ContentType { get; }
Property Value
| Type | Description |
|---|---|
| IPublishedContentType |
CreateDate
Gets the date the content item was created.
Declaration
public abstract DateTime CreateDate { get; }
Property Value
| Type | Description |
|---|---|
| DateTime |
CreatorId
Gets the identifier of the user who created the content item.
Declaration
public abstract int CreatorId { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Cultures
Gets available culture infos.
Declaration
public abstract IReadOnlyDictionary<string, PublishedCultureInfo> Cultures { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyDictionary<System.String, PublishedCultureInfo> |
Remarks
Contains only those culture that are available. For a published content, these are the cultures that are published. For a draft content, those that are 'available' ie have a non-empty content name.
Does not contain the invariant culture.
// TODO?Id
Gets the unique identifier of the content item.
Declaration
public abstract int Id { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
ItemType
Gets the type of the content item (document, media...).
Declaration
public abstract PublishedItemType ItemType { get; }
Property Value
| Type | Description |
|---|---|
| PublishedItemType |
Key
Gets the unique key of the published element.
Declaration
public abstract Guid Key { get; }
Property Value
| Type | Description |
|---|---|
| Guid |
Level
Gets the tree level of the content item.
Declaration
public abstract int Level { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Name
Gets the name of the content item for the current culture.
Declaration
public virtual string Name { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
Parent
Gets the parent of the content item.
Declaration
public abstract IPublishedContent Parent { get; }
Property Value
| Type | Description |
|---|---|
| IPublishedContent |
Remarks
The parent of root content is null.
Path
Gets the tree path of the content item.
Declaration
public abstract string Path { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
Properties
Gets the properties of the element.
Declaration
public abstract IEnumerable<IPublishedProperty> Properties { get; }
Property Value
| Type | Description |
|---|---|
| IEnumerable<IPublishedProperty> |
Remarks
Contains one IPublishedProperty for each property defined for the content type, including
inherited properties. Some properties may have no value.
SortOrder
Gets the sort order of the content item.
Declaration
public abstract int SortOrder { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
TemplateId
Gets the identifier of the template to use to render the content item.
Declaration
public abstract int? TemplateId { get; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.Int32> |
UpdateDate
Gets the date the content item was last updated.
Declaration
public abstract DateTime UpdateDate { get; }
Property Value
| Type | Description |
|---|---|
| DateTime |
Remarks
For published content items, this is also the date the item was published.
This date is always global to the content item, see CultureDate() for the date each culture was published.
UrlSegment
Gets the URL segment of the content item for the current culture.
Declaration
public virtual string UrlSegment { get; }
Property Value
| Type | Description |
|---|---|
| System.String |
WriterId
Gets the identifier of the user who last updated the content item.
Declaration
public abstract int WriterId { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Methods
View SourceGetProperty(String)
Gets a property identified by its alias.
Declaration
public abstract IPublishedProperty GetProperty(string alias)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | alias | The property alias. |
Returns
| Type | Description |
|---|---|
| IPublishedProperty | The property identified by the alias. |
Remarks
If the content type has no property with that alias, including inherited properties, returns null,
otherwise return a property -- that may have no value (ie HasValue is false).
The alias is case-insensitive.
IsDraft(String)
Gets a value indicating whether the content is draft.
Declaration
public abstract bool IsDraft(string culture = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | culture |
Returns
| Type | Description |
|---|---|
| System.Boolean |
Remarks
A content is draft when it is the unpublished version of a content, which may have a published version, or not.
When retrieving documents from cache in non-preview mode, IsDraft is always false, as only published documents are returned. When retrieving in preview mode, IsDraft can either be true (document is not published, or has been edited, and what is returned is the edited version) or false (document is published, and has not been edited, and what is returned is the published version).
IsPublished(String)
Gets a value indicating whether the content is published.
Declaration
public abstract bool IsPublished(string culture = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | culture |
Returns
| Type | Description |
|---|---|
| System.Boolean |
Remarks
A content is published when it has a published version.
When retrieving documents from cache in non-preview mode, IsPublished is always true, as only published documents are returned. When retrieving in draft mode, IsPublished can either be true (document has a published version) or false (document has no published version).
It is therefore possible for both IsDraft and IsPublished to be true at the same time, meaning that the content is the draft version, and a published version exists.