Structures
- Type
- Class
- Namespace
- craft\services
- Inherits
- craft\services\Structures » yii\base\Component (opens new window) » yii\base\BaseObject (opens new window)
- Implements
- yii\base\Configurable (opens new window)
- Since
- 3.0.0
Structures service.
An instance of the service is available via Craft::$app->structures
.
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. |
mutexTimeout | integer (opens new window) – The timeout to pass to yii\mutex\Mutex::acquire() (opens new window) when acquiring a lock on the structure. |
# mutexTimeout
- Type
- integer (opens new window)
- Default value
3
- Since
- 3.0.19
The timeout to pass to yii\mutex\Mutex::acquire() (opens new window) when acquiring a lock on the structure.
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. |
append() | Appends an element to another within a given structure. |
appendToRoot() | Appends an element to the root of a given structure. |
applyBranchLimitToElements() | Filters an array of elements down to only <= X branches. |
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. |
deleteStructureById() | Deletes a structure by its ID. |
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. |
fillGapsInElements() | Patches an array of entries, filling in any gaps in the tree. |
getBehavior() (opens new window) | Returns the named behavior object. |
getBehaviors() (opens new window) | Returns all behaviors attached to this component. |
getElementLevelDelta() | Returns the descendant level delta for a given element. |
getStructureById() | Returns a structure by its ID. |
getStructureByUid() | Returns a structure by its UID. |
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() (opens new window) | Initializes the object. |
moveAfter() | Moves an element after another within a given structure. |
moveBefore() | Moves an element before another within a given structure. |
off() (opens new window) | Detaches an existing event handler from this component. |
on() (opens new window) | Attaches an event handler to an event. |
prepend() | Prepends an element to another within a given structure. |
prependToRoot() | Prepends an element to the root of a given structure. |
remove() | Removes an element from a given structure. |
saveStructure() | Saves a structure |
trigger() (opens new window) | Triggers an event. |
# append()
Appends an element to another within a given structure.
View source (opens new window)
Arguments
$structureId
(integer (opens new window))$element
(craft\base\ElementInterface)$parentElement
(integer (opens new window), craft\base\ElementInterface)$mode
(string (opens new window)) – Whether this is an "insert", "update", or "auto".
Returns
Throws
# appendToRoot()
Appends an element to the root of a given structure.
View source (opens new window)
Arguments
$structureId
(integer (opens new window))$element
(craft\base\ElementInterface)$mode
(string (opens new window)) – Whether this is an "insert", "update", or "auto".
Returns
Throws
# applyBranchLimitToElements()
- Since
- 3.6.0
Filters an array of elements down to only <= X branches.
View source (opens new window)
Arguments
$elements
(craft\base\ElementInterface[])$branchLimit
(integer (opens new window))
# deleteStructureById()
Deletes a structure by its ID.
View source (opens new window)
Arguments
$structureId
(integer (opens new window))
Returns
# fillGapsInElements()
- Since
- 3.6.0
Patches an array of entries, filling in any gaps in the tree.
View source (opens new window)
Arguments
$elements
(craft\base\ElementInterface[])
# getElementLevelDelta()
Returns the descendant level delta for a given element.
View source (opens new window)
Arguments
$structureId
(integer (opens new window))$element
(craft\base\ElementInterface)
Returns
# getStructureById()
Returns a structure by its ID.
View source (opens new window)
Arguments
$structureId
(integer (opens new window))$withTrashed
(boolean (opens new window))
Returns
craft\models\Structure, null (opens new window)
# getStructureByUid()
Returns a structure by its UID.
View source (opens new window)
Arguments
$structureUid
(string (opens new window))$withTrashed
(boolean (opens new window))
Returns
craft\models\Structure, null (opens new window)
# moveAfter()
Moves an element after another within a given structure.
View source (opens new window)
Arguments
$structureId
(integer (opens new window))$element
(craft\base\ElementInterface)$prevElement
(integer (opens new window), craft\base\ElementInterface)$mode
(string (opens new window)) – Whether this is an "insert", "update", or "auto".
Returns
Throws
# moveBefore()
Moves an element before another within a given structure.
View source (opens new window)
Arguments
$structureId
(integer (opens new window))$element
(craft\base\ElementInterface)$nextElement
(integer (opens new window), craft\base\ElementInterface)$mode
(string (opens new window)) – Whether this is an "insert", "update", or "auto".
Returns
Throws
# prepend()
Prepends an element to another within a given structure.
View source (opens new window)
Arguments
$structureId
(integer (opens new window))$element
(craft\base\ElementInterface)$parentElement
(integer (opens new window), craft\base\ElementInterface)$mode
(string (opens new window)) – Whether this is an "insert", "update", or "auto".
Returns
Throws
# prependToRoot()
Prepends an element to the root of a given structure.
View source (opens new window)
Arguments
$structureId
(integer (opens new window))$element
(craft\base\ElementInterface)$mode
(string (opens new window)) – Whether this is an "insert", "update", or "auto".
Returns
Throws
# remove()
- Since
- 3.7.19
Removes an element from a given structure.
View source (opens new window)
Arguments
$structureId
(integer (opens new window))$element
(craft\base\ElementInterface)
Returns
Throws
# saveStructure()
Saves a structure
View source (opens new window)
Arguments
$structure
(craft\models\Structure)
Returns
boolean (opens new window) – Whether the structure was saved successfully
Throws
- craft\errors\StructureNotFoundException
if $structure->id is invalid
# Constants
Constant | Description |
---|---|
ACTION_APPEND | |
ACTION_PLACE_AFTER | |
ACTION_PLACE_BEFORE | |
ACTION_PREPEND | |
MODE_AUTO | |
MODE_INSERT | |
MODE_UPDATE |
# Events
# EVENT_AFTER_INSERT_ELEMENT
- Type
- craft\events\MoveElementEvent
- Since
- 4.5.0
The event that is triggered after an element is inserted into a structure.
# EVENT_AFTER_MOVE_ELEMENT
The event that is triggered after an element is moved.
# EVENT_BEFORE_INSERT_ELEMENT
- Type
- craft\events\MoveElementEvent
- Since
- 4.5.0
The event that is triggered before an element is inserted into a structure.
You may set yii\base\ModelEvent::$isValid (opens new window) to false
to prevent the
element from getting inserted.
# EVENT_BEFORE_MOVE_ELEMENT
The event that is triggered before an element is moved.
In Craft 4.5 and later, you may set yii\base\ModelEvent::$isValid (opens new window) to false
to prevent the
element from getting moved.
← Sites SystemMessages →