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->getStructures().
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\services\T[])$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\services\T[])
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.