Drafts

Type
Class
Namespace
craft\services
Inherits
craft\services\Drafts » yii\base\Component (opens new window) » yii\base\BaseObject (opens new window)
Implements
yii\base\Configurable (opens new window)
Since
3.2.0

Drafts service.

An instance of the service is available via Craft::$app->drafts.

View source (opens new window)

# Public Properties

Property Description
behaviors (opens new window) yii\base\Behavior (opens new window) – List of behaviors attached to this component.
db craft\db\Connection, array (opens new window), string (opens new window) – The database connection to use

# db

Type
craft\db\Connection, array (opens new window), string (opens new window)
Default value
'db'
Since
3.5.4

The database connection to use

View source (opens new window)

# Public Methods

Method Description
__call() (opens new window) Calls the named method which is not a class method.
__clone() (opens new window) This method is called after the object is created by cloning an existing one.
__construct() (opens new window) Constructor.
__get() (opens new window) Returns the value of a component property.
__isset() (opens new window) Checks if a property is set, i.e. defined and not null.
__set() (opens new window) Sets the value of a component property.
__unset() (opens new window) Sets a component property to be null.
applyDraft() Applies a draft to its canonical element, and deletes the draft.
attachBehavior() (opens new window) Attaches a behavior to this component.
attachBehaviors() (opens new window) Attaches a list of behaviors to the component.
behaviors() (opens new window) Returns a list of behaviors that this component should behave as.
canGetProperty() (opens new window) Returns a value indicating whether a property can be read.
canSetProperty() (opens new window) Returns a value indicating whether a property can be set.
className() (opens new window) Returns the fully qualified name of this class.
createDraft() Creates a new draft for the given element.
detachBehavior() (opens new window) Detaches a behavior from the component.
detachBehaviors() (opens new window) Detaches all behaviors from the component.
ensureBehaviors() (opens new window) Makes sure that the behaviors declared in behaviors() (opens new window) are attached to this component.
generateDraftName() Returns the next auto-generated draft name that should be assigned, for the given canonical element.
getBehavior() (opens new window) Returns the named behavior object.
getBehaviors() (opens new window) Returns all behaviors attached to this component.
getEditableDrafts() Returns drafts for a given element ID that the current user is allowed to edit
hasEventHandlers() (opens new window) Returns a value indicating whether there is any handler attached to the named event.
hasMethod() (opens new window) Returns a value indicating whether a method is defined.
hasProperty() (opens new window) Returns a value indicating whether a property is defined for this component.
init() Initializes the object.
insertDraftRow() Creates a new row in the drafts table.
off() (opens new window) Detaches an existing event handler from this component.
on() (opens new window) Attaches an event handler to an event.
purgeUnsavedDrafts() Deletes any unpublished drafts that were never formally saved.
removeDraftData() Removes draft data from the given draft.
saveElementAsDraft() Saves an element as a draft.
trigger() (opens new window) Triggers an event.

# applyDraft()

Since
3.6.0

Applies a draft to its canonical element, and deletes the draft.

If an unpublished draft is passed, its draft data will simply be removed from it.

View source (opens new window)

Arguments

  • $draft (\craft\services\T) – The draft

Returns

\craft\services\T – The canonical element with the draft applied to it

Throws

# createDraft()

Creates a new draft for the given element.

View source (opens new window)

Arguments

Returns

\craft\services\T – The new draft

Throws

# generateDraftName()

Since
3.6.5

Returns the next auto-generated draft name that should be assigned, for the given canonical element.

View source (opens new window)

Arguments

Returns

string (opens new window)

# getEditableDrafts()

Returns drafts for a given element ID that the current user is allowed to edit

View source (opens new window)

Arguments

Returns

craft\base\ElementInterface[]

# init()

Initializes the object.

This method is invoked at the end of the constructor after the object is initialized with the given configuration.

View source (opens new window)

# insertDraftRow()

Since
3.6.4

Creates a new row in the drafts table.

View source (opens new window)

Arguments

Returns

integer (opens new window) – The new draft ID

Throws

# purgeUnsavedDrafts()

Deletes any unpublished drafts that were never formally saved.

View source (opens new window)

# removeDraftData()

Since
4.0.0

Removes draft data from the given draft.

View source (opens new window)

Arguments

Throws

# saveElementAsDraft()

Saves an element as a draft.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

Throws

# Events

# EVENT_AFTER_APPLY_DRAFT

Type
craft\events\DraftEvent

The event that is triggered after a draft is applied to its canonical element.

See also applyDraft()

# EVENT_AFTER_CREATE_DRAFT

Type
craft\events\DraftEvent

The event that is triggered after a draft is created.

# EVENT_BEFORE_APPLY_DRAFT

Type
craft\events\DraftEvent
Since
3.6.0

The event that is triggered before a draft is published.

# EVENT_BEFORE_CREATE_DRAFT

Type
craft\events\DraftEvent

The event that is triggered before a draft is created.