Structures ​
- Type
- Class
- Namespace
- craft\services
- Inherits
- craft\services\Structures » yii\base\Component » yii\base\BaseObject
- Implements
- yii\base\Configurable
- Since
- 3.0.0
Structures service.
An instance of the service is available via Craft::$app->structures
.
Public Properties ​
Property | Description |
---|---|
behaviors | yii\base\Behavior – List of behaviors attached to this component. |
mutexTimeout | integer – The timeout to pass to yii\mutex\Mutex::acquire() when acquiring a lock on the structure. |
mutexTimeout
​
- Type
- integer
- Default value
3
- Since
- 3.0.19
The timeout to pass to yii\mutex\Mutex::acquire() when acquiring a lock on the structure.
Public Methods ​
Method | Description |
---|---|
__call() | Calls the named method which is not a class method. |
__clone() | This method is called after the object is created by cloning an existing one. |
__construct() | Constructor. |
__get() | Returns the value of a component property. |
__isset() | Checks if a property is set, i.e. defined and not null. |
__set() | Sets the value of a component property. |
__unset() | 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() | Attaches a behavior to this component. |
attachBehaviors() | Attaches a list of behaviors to the component. |
behaviors() | Returns a list of behaviors that this component should behave as. |
canGetProperty() | Returns a value indicating whether a property can be read. |
canSetProperty() | Returns a value indicating whether a property can be set. |
className() | Returns the fully qualified name of this class. |
deleteStructureById() | Deletes a structure by its ID. |
detachBehavior() | Detaches a behavior from the component. |
detachBehaviors() | Detaches all behaviors from the component. |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. |
fillGapsInElements() | Patches an array of entries, filling in any gaps in the tree. |
getBehavior() | Returns the named behavior object. |
getBehaviors() | 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() | Returns a value indicating whether there is any handler attached to the named event. |
hasMethod() | Returns a value indicating whether a method is defined. |
hasProperty() | Returns a value indicating whether a property is defined for this component. |
init() | Initializes the object. |
moveAfter() | Moves an element after another within a given structure. |
moveBefore() | Moves an element before another within a given structure. |
off() | Detaches an existing event handler from this component. |
on() | 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() | Triggers an event. |
append()
​
Appends an element to another within a given structure.
Arguments ​
$structureId
(integer)$element
(craft\base\ElementInterface)$parentElement
(integer, craft\base\ElementInterface)$mode
(string) – Whether this is an "insert", "update", or "auto".
Returns ​
Throws ​
appendToRoot()
​
Appends an element to the root of a given structure.
Arguments ​
$structureId
(integer)$element
(craft\base\ElementInterface)$mode
(string) – 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.
Arguments ​
$elements
(craft\base\ElementInterface[])$branchLimit
(integer)
deleteStructureById()
​
Deletes a structure by its ID.
Arguments ​
$structureId
(integer)
Returns ​
fillGapsInElements()
​
- Since
- 3.6.0
Patches an array of entries, filling in any gaps in the tree.
Arguments ​
$elements
(craft\base\ElementInterface[])
getElementLevelDelta()
​
Returns the descendant level delta for a given element.
Arguments ​
$structureId
(integer)$element
(craft\base\ElementInterface)
Returns ​
getStructureById()
​
Returns a structure by its ID.
Arguments ​
Returns ​
getStructureByUid()
​
Returns a structure by its UID.
Arguments ​
Returns ​
moveAfter()
​
Moves an element after another within a given structure.
Arguments ​
$structureId
(integer)$element
(craft\base\ElementInterface)$prevElement
(integer, craft\base\ElementInterface)$mode
(string) – Whether this is an "insert", "update", or "auto".
Returns ​
Throws ​
moveBefore()
​
Moves an element before another within a given structure.
Arguments ​
$structureId
(integer)$element
(craft\base\ElementInterface)$nextElement
(integer, craft\base\ElementInterface)$mode
(string) – Whether this is an "insert", "update", or "auto".
Returns ​
Throws ​
prepend()
​
Prepends an element to another within a given structure.
Arguments ​
$structureId
(integer)$element
(craft\base\ElementInterface)$parentElement
(integer, craft\base\ElementInterface)$mode
(string) – Whether this is an "insert", "update", or "auto".
Returns ​
Throws ​
prependToRoot()
​
Prepends an element to the root of a given structure.
Arguments ​
$structureId
(integer)$element
(craft\base\ElementInterface)$mode
(string) – Whether this is an "insert", "update", or "auto".
Returns ​
Throws ​
remove()
​
- Since
- 3.7.19
Removes an element from a given structure.
Arguments ​
$structureId
(integer)$element
(craft\base\ElementInterface)
Returns ​
Throws ​
saveStructure()
​
Saves a structure
Arguments ​
$structure
(craft\models\Structure)
Returns ​
boolean – 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 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 to false
to prevent the element from getting moved.