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
$canonical
(\craft\services\T
) – The element to create a draft for$creatorId
(integer (opens new window), null (opens new window)) – The user ID that the draft should be attributed to$name
(string (opens new window), null (opens new window)) – The draft name$notes
(string (opens new window), null (opens new window)) – The draft notes$newAttributes
(array (opens new window)) – Any attributes to apply to the draft$provisional
(boolean (opens new window)) – Whether to create a provisional draft
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
$canonicalId
(integer (opens new window)) – The canonical element’s ID
Returns
# getEditableDrafts()
Returns drafts for a given element ID that the current user is allowed to edit
View source (opens new window)
Arguments
$element
(craft\base\ElementInterface)$permission
(string (opens new window), null (opens new window))
Returns
# 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
$name
(string (opens new window), null (opens new window))$notes
(string (opens new window), null (opens new window))$creatorId
(integer (opens new window), null (opens new window))$canonicalId
(integer (opens new window), null (opens new window))$trackChanges
(boolean (opens new window))$provisional
(boolean (opens new window))
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
$draft
(craft\base\ElementInterface)
Throws
# saveElementAsDraft()
Saves an element as a draft.
View source (opens new window)
Arguments
$element
(craft\base\ElementInterface)$creatorId
(integer (opens new window), null (opens new window))$name
(string (opens new window), null (opens new window))$notes
(string (opens new window), null (opens new window))$markAsSaved
(boolean (opens new window))
Returns
Throws
# Events
# EVENT_AFTER_APPLY_DRAFT
The event that is triggered after a draft is applied to its canonical element.
See also applyDraft()
# EVENT_AFTER_CREATE_DRAFT
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
The event that is triggered before a draft is created.