DraftBehavior
- Type
- Class
- Namespace
- craft\behaviors
- Inherits
- craft\behaviors\DraftBehavior » craft\behaviors\BaseRevisionBehavior » yii\base\Behavior (opens new window) » yii\base\BaseObject (opens new window)
- Implements
- yii\base\Configurable (opens new window)
- Since
- 3.2.0
DraftBehavior is applied to element drafts.
View source (opens new window)
# Public Properties
Property | Description |
---|---|
creator | craft\elements\User, null (opens new window) |
creatorId | integer (opens new window), null (opens new window) – The creator’s ID |
dateLastMerged | \craft\behaviors\Datetime , null (opens new window) – The date that the canonical element was last merged into this one |
draftName | string (opens new window), null (opens new window) – The draft name |
draftNotes | string (opens new window), null (opens new window) – The draft notes |
isOutdated | boolean (opens new window) |
markAsSaved | boolean (opens new window) – Whether the draft should be marked as saved (if unpublished). |
mergingChanges | boolean (opens new window) – Whether recent changes to the canonical element are being merged into this element |
owner | craft\base\ElementInterface |
source | craft\base\ElementInterface, null (opens new window) |
sourceId | integer (opens new window) |
trackChanges | boolean (opens new window) – Whether to track changes in this draft |
# dateLastMerged
- Type
\craft\behaviors\Datetime
, null (opens new window)- Default value
null
The date that the canonical element was last merged into this one
View source (opens new window)
# draftName
- Type
- string (opens new window), null (opens new window)
- Default value
null
The draft name
View source (opens new window)
# draftNotes
- Type
- string (opens new window), null (opens new window)
- Default value
null
The draft notes
View source (opens new window)
# isOutdated
- Type
- boolean (opens new window)
- Default value
null
- Access
- Read-only
- Since
- 3.4.0
View source (opens new window)
# markAsSaved
- Type
- boolean (opens new window)
- Default value
true
- Since
- 3.6.6
Whether the draft should be marked as saved (if unpublished).
View source (opens new window)
# mergingChanges
- Type
- boolean (opens new window)
- Default value
null
Whether recent changes to the canonical element are being merged into this element
View source (opens new window)
# trackChanges
- Type
- boolean (opens new window)
- Default value
true
Whether to track changes in this draft
View source (opens new window)
# Public Methods
Method | Description |
---|---|
__call() (opens new window) | Calls the named method which is not a class method. |
__construct() (opens new window) | Constructor. |
__get() (opens new window) | Returns the value of an object property. |
__isset() (opens new window) | Checks if a property is set, i.e. defined and not null. |
__set() (opens new window) | Sets value of an object property. |
__unset() (opens new window) | Sets an object property to null. |
attach() (opens new window) | Attaches the behavior object to the component. |
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. |
detach() (opens new window) | Detaches the behavior object from the component. |
events() | Declares event handlers for the owner's events. |
getCreator() | Returns the draft’s creator. |
getDraftName() | Returns the draft’s name. |
getIsOutdated() | Returns whether the source element has been saved since the time this draft was created or last merged. |
getSource() | Returns the draft/revision’s source element. |
getSourceId() | Returns the draft/revision's source element ID. |
handleDelete() | Deletes the row in the drafts table after the draft element is deleted. |
handleSave() | Updates the row in the drafts table after the draft element is saved. |
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. |
init() (opens new window) | Initializes the object. |
setCreator() | Sets the draft's creator. |
# events()
Declares event handlers for the owner's events.
Child classes may override this method to declare what PHP callbacks should be attached to the events of the owner component.
The callbacks will be attached to the owner's events when the behavior is attached to the owner; and they will be detached from the events when the behavior is detached from the component.
The callbacks can be any of the following:
- method in this behavior:
'handleClick'
, equivalent to[$this, 'handleClick']
- object method:
[$object, 'handleClick']
- static method:
['Page', 'handleClick']
- anonymous function:
function ($event) { ... }
The following is an example:
[
Model::EVENT_BEFORE_VALIDATE => 'myBeforeValidate',
Model::EVENT_AFTER_VALIDATE => 'myAfterValidate',
]
View source (opens new window)
Returns
array (opens new window) – Events (array keys) and the corresponding event handler methods (array values).
# getDraftName()
- Since
- 3.3.17
Returns the draft’s name.
View source (opens new window)
Returns
# getIsOutdated()
DEPRECATED
Deprecated in 3.7.12. Use craft\helpers\ElementHelper::isOutdated() instead.
- Since
- 3.4.0
Returns whether the source element has been saved since the time this draft was created or last merged.
View source (opens new window)
Returns
# handleDelete()
Deletes the row in the drafts
table after the draft element is deleted.
View source (opens new window)
# handleSave()
Updates the row in the drafts
table after the draft element is saved.