Class PublishedContentBase
Provide an abstract base class for IPublishedContent
implementations.
Inheritance
Namespace: Umbraco.Web.Models
Assembly: Umbraco.Web.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.
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 |
---|---|
System.Collections.Generic.IEnumerable<IPublishedContent> |
ChildrenForAllCultures
Gets all the children of the content item, regardless of whether they are available for the current culture.
Declaration
public abstract IEnumerable<IPublishedContent> ChildrenForAllCultures { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.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 |
---|---|
System.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 |
CreatorName
Gets the name of the user who created the content item.
Declaration
[Obsolete("Use CreatorName(IUserService) extension instead")]
public abstract string CreatorName { get; }
Property Value
Type | Description |
---|---|
System.String |
Cultures
Gets available culture infos.
Declaration
public abstract IReadOnlyDictionary<string, PublishedCultureInfo> Cultures { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.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.
// fixme?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 |
---|---|
System.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 |
---|---|
System.Collections.Generic.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 |
---|---|
System.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.
Url
Gets the URL of the content item for the current culture.
Declaration
[Obsolete("Use the Url() extension instead")]
public virtual string Url { get; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
The value of this property is contextual. It depends on the 'current' request uri, if any.
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 |
WriterName
Gets the name of the user who last updated the content item.
Declaration
[Obsolete("Use WriterName(IUserService) extension instead")]
public abstract string WriterName { get; }
Property Value
Type | Description |
---|---|
System.String |
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.